Tag: 安全

生成密码安全的身份validation令牌

背景: 这实际上是一个普遍的最佳实践问题,但是关于具体情况的一些背景可能会有帮助: 我们正在为iPhone开发一个“连接”应用程序。 它将通过REST服务与后端应用程序进行通信。 为了不必在每次启动应用程序时提示用户input用户名和密码,我们将公开一个“login”服务,在首次启动时validation用户名和密码,并返回一个可用于未来networking的身份validation令牌对真实数据的服务请求。 令牌可能会有一个到期时间,之后我们会要求他们用他们的用户名/密码重新进行validation。 问题: 生成这种用于身份validation的令牌的最佳做法是什么? 例如,我们可以… 散列(SHA-256等)一个随机string,并将其存储在给定用户的数据库中,并附带过期date。 在后续的请求上做一个简单的查询,以确保匹配。 使用密钥encryption用户标识和一些附加信息(时间戳等)。 解密后续请求令牌,以确保它是由我们发出的。 这感觉就像是一个解决的问题。

在SQL Server中,如何通过SQL注入来避免单引号溢出的卫生问题?

为了解决这个问题,我很清楚参数化查询是最好的select,但是我在问什么使得我现在处于弱势的策略成为可能。 人们坚持下面的解决scheme不起作用,所以我正在寻找一个为什么它不会的例子。 如果在发送到SQL Server之前使用以下转义代码构builddynamicSQL,那么什么样的注入可以击败此? string userInput= "N'" + userInput.Replace("'", "''") + "'" 这里也回答了类似的问题,但我不相信任何答案都适用于此。 在SQL Server中不能使用“\”来转义单引号。 我相信SQL走私与Unicode( 这里概述)将被阻止的事实,即正在生产的string被标记为单引号之前的N的Unicode。 据我所知,没有其他字符集,SQL Server会自动转换为单引号。 没有一个没有转义的单引号,我不相信注射是可能的。 我不相信串截断也是一个可行的载体。 SQL Server肯定不会被截断,因为根据微软 , nvarchar的最大大小是2GB。 2 GB的string在大多数情况下是不可行的,在我的情况下是不可能的。 二次注射可能是可能的,但有可能的情况是: 所有进入数据库的数据都使用上述方法进行消毒 数据库中的值永远不会附加到dynamicSQL中(为什么要这样做呢?只要引用任何dynamicSQLstring的静态部分中的表值?)。 我并不是说这比使用参数化查询更好,或者是使用参数化查询的替代方法,但是我想知道我所概括的是如何易受攻击的。 有任何想法吗?

在将密码发送到服务器端之前,我应该散列密码吗?

我注意到,大多数站点通过HTTPS将密码以纯文本格式发送到服务器。 如果不是我把密码的散列发送到服务器,有什么好处吗? 会更安全吗?

如何伪造$ _SERVER variables?

是否有可能伪造或劫持$_SERVER['REMOTE_ADDR']variables的内容? 我想伪造一个请求: $_SERVER['REMOTE_ADDR']='127.0.0.1'; 我怎么能用PHP做到这一点? CURL可以做到这一点吗?

你如何监测iPhone上的networkingstream量?

我们正在寻找一种类似于Wireshark的工具,以便在与第三方合作之前,在iPhone上使用该工具来testing第三方应用程序。 有什么build议么?

有人正在存储信用卡数据 – 他们怎么做?

存储信用卡信息安全合法是非常困难的, 不应该尝试 。 我无意存储信用卡数据,但我很想弄清楚以下几点: 我的信用卡信息正被存储在世界上某个服务器上。 这个数据(希望)不会被存储在商家的服务器上,但是在某个时候它需要被存储以validation由商家提交的数据识别的账户并对其进行收费。 我的问题是:如果您的任务是存储信用卡数据,您将使用哪种encryption策略来保护磁盘上的数据? 从我可以告诉提交的信用卡信息正在或多或less被实时检查。 我怀疑用于保护数据的任何encryption密钥是手动input的,因此解密正在进行中,这意味着密钥本身被存储在磁盘上。 你将如何保护你的数据和你的钥匙在这样的自动化系统?

Android应用内结算:保护应用公钥

从Android应用程序计费版本3(TrivialDrive)示例应用程序来与SDK MainActivity.java /* base64EncodedPublicKey should be YOUR APPLICATION'S PUBLIC KEY * (that you got from the Google Play developer console). This is not your * developer public key, it's the *app-specific* public key. * * Instead of just storing the entire literal string here embedded in the * program, construct the key at runtime from […]

Node.js Express框架安全问题

我正在寻找应添加到Node / Express应用程序中的模块,以解决下面列出的一般安全问题: 注入漏洞(JavaScript,SQL,Mongo,HTML) 会话固定和劫持 跨站点漏洞(脚本,请求伪造) 质量分配 在此插入相关的关注 谢谢你的帮助! ———- 我find的一些资源: 优秀的演讲(11/2012): http ://lanyrd.com/2012/asfws/sxzbm/(见幻灯片) ServerFault问题(2011-2012): https : //serverfault.com/questions/285123/is-node-js-mature-for-enterprise-security 关于主题的博文(9/2012): http ://codefol.io/posts/29-Why-Rails-and-not-Sinatra-or-Node-js- 利用testing人员: https : //code.google.com/p/skipfish/ 护照模块: https : //github.com/jaredhanson/passport EveryAuth模块: https : //github.com/bnoguchi/everyauth

JSONP安全使用?

使用JSONP时是否有任何安全问题需要考虑?

如何保护phpMyAdmin

我注意到,有奇怪的请求,我的网站试图findphpmyadmin,像 /phpmyadmin/ /pma/ 等等 现在我已经通过apt在Ubuntu上安装了PMA,并希望通过不同于/ phpmyadmin /的webaddress来访问它。 我能做些什么来改变它? 谢谢 更新 对于Ubuntu 9.10和Apache2,相应的设置位于/etc/apache2/conf.d/phpmyadmin.conf文件中,该文件是/etc/phpmyadmin/apache.conf的链接。 该文件包含 Alias /phpmyadmin /usr/share/phpmyadmin 如果想要避免不必要的活动,第一个/phpmyadmin应该改变为不同的东西,例如: Alias /secret /usr/share/phpmyadmin