2011-05-16 93 views
5

好的,这可能是非常基本的,但这个影响对我在这个阶段的开发中很重要。我很感激任何意见和讨论。窃取我的POST数据

本示例中的数据未使用SSL加密进行保护。


page1.php/asp包含一个形式的POST变量usernamepasswordpage2.php/asp


  • 任何人都可以从任何地方拦截我的POST数据仅仅通过一些第三方软件,如Firesheep聆听它,也许?

如果上述问题使TRUE:

  • 我就应该总是考虑我的未加密POST数据免费提供给任何人吗?
  • 我的网站上的标准登录表单只是描绘一个甚至没有的安全层的策略吗?
  • 那么我应该考虑登录功能,以此作为个性化用户体验的一种方式吗?
  • 鼓励用户不要使用他或她的正常(假设更安全)的密码是否有意义,因为在注册和登录过程中它不会受到保护?

我在思考这些问题,感谢任何意见和反馈。

回答

1

任何一个来自任何地方的人都可以通过侦听我的POST数据来拦截我的POST数据,或许可以使用Firesheep等第三方软件?

号,交通必须通过在他们附近。

如果上述问题使TRUE:

没有,但即使是这样。

我是否应始终认为我的未加密POST数据可供任何人免费使用?

除非它只是传播跨越LAN,那么是的。如果它只通过局域网传输,那么在该局域网上添加限定符,答案将是肯定的。

我的网站上的标准登录表单只是描述一层甚至不存在的安全性的一个工具吗?

没有

我应该再考虑登录功能只是作为一种方式,我以个性化的用户体验?

当然,你不应该做任何严肃的事情没有加密。

鼓励用户不要使用他或她的正常密码(假设更安全),因为在注册和登录过程中不会受到保护,是否有意义?

这将是有意义的任何系统这样做。即使通信是安全的,您的服务器将来也可能会受到影响,或者第三方系统可能会使用那些数据来攻击您的系统。

+0

谢谢David,你的回答回答了我所有的问题。你最后的评论表明你实际上得到了我的意思:) – Mattis 2011-05-17 07:30:43

+0

请看@MattGibson的帖子。交通拦截通常是局域网上的理论。使用Open WiFi时,它总是发生。 – 2011-06-09 12:14:03

8

当用户通过未加密的HTTP提交登录表单时,他们的数据会通过一系列路由发送到您的服务器。在这些路线中的任何一条,是的,有人可以嗅探数据。另外,如果用户的机器受到感染,黑客可以在本地嗅探数据。

如果是登录表单,您应该使用SSL,期限。还要确保用户的密码在您的数据库中被加密。用于登录的过程应该是:

  1. 用户提交通过HTTPS登录用户名和密码
  2. 服务器需要密码并应用散列算法来呢,一般采用MD5,虽然一些浓似SHA256建议
  3. 服务器数据库中的加密值加密后的值进行比较

这样,如果你的数据库不断遭到黑客攻击,密码是非常非常难搞清楚(除非他们使用一些基本的东西像“密码”,但这是他们的在那个错误oint)。

是否有意义,鼓励 用户不使用他或她的正常 (假定更安全)的密码,因为它 将不受保护?

您会将用户驱走。

+0

注意:md5和SHA不是加密的,它们是哈希算法。 – 2011-05-16 10:56:29

+0

@GregB是的,我刚刚在修改中修复了这个问题 – 2011-05-16 10:58:39

+0

另外,还要加密哈希密码,以避免通过彩虹表破译用户的密码。并重复他们几轮,使暴力攻击几乎无用。为了防止这种情况发生,如果某人获得访问哈希密码的权限,可能会得到原始的纯文本密码。 – 2011-05-16 10:59:15

2

是的。任何可以看到通过的数据包的人都可以看到用户名和密码。这使得它在开放的,共享的Wi-Fi网络等时尤其脆弱。

我想说,所有的假设不顺,这是特别为什么它是不好的做法,共享服务之间的密码,尤其是当这些服务有不同的安全级别。

我想提醒你,如果你能,一方面是因为很多用户会忽视什么建议给他们有关使用通用密码移动到SSL登录,部分是因为这是一个好的做法。这是很好的做法之类的东西Firesheep变得如此容易“正常”的人使用,它现在是更重要的。

1
我应该考虑登录功能,以此作为个性化用户体验的一种方式吗? 鼓励用户不要使用他或她的正常(假设更安全的)密码是否有意义,因为在注册和登录过程中它不会受到保护?

这取决于使用登录表单的网站。大多数大型网站(如Gmail)都使用https进行登录身份验证,然后切换到http。(有报道称这种交换机也引入了一些漏洞。)其他网站在隐藏的表单字段中发送salt值。您的原始密码被salt和散列替换。在服务器上重复相同的操作以确保您发送了正确的密码。这发生在幕后,因此用户无法真正确定是否发送未加密。预计有良好的网站可以做到这一点。普通网站可能不会这样做。路由器和调制解调器的许多配置页面不使用加密或混淆。