从HTTP表单提交到HTTPS是否安全?

时间:2008-11-08 03:00:08

标签: security https

通过https从http表单提交是否可以接受?它似乎应该是安全的,但它允许中间人攻击(here is a good discussion)。有mint.com等网站允许您从http网页登录,但会执行https帖子。在我的网站中,请求是拥有http登录页面,但能够安全登录。是否值得冒可能的安全风险,我是否应该让所有用户进入安全页面登录(或使登陆页面安全)?

11 个答案:

答案 0 :(得分:52)

将表单从http页面发布到https页面会在以最简单的术语传输时对表单中的数据进行加密。如果发生中间人攻击,浏览器会发出警告。

但是,如果原始http表单受到中间人的攻击并且攻击者修改了https回发后地址,那么您将不会收到任何警告。数据仍然实际上是加密的,但是中间人攻击者能够解密(因为他首先发送了密钥)并读取数据。

此外,如果表单通过其他方式(脚本连接)发送回来,则可能有可能在发布表单之前通过网络发送未加密的数据(尽管任何好的网站都不会以任何形式发送敏感数据)。

答案 1 :(得分:33)

是否有任何理由在整个交易中使用HTTPS?如果找不到一个好的,请使用它!

  • 它可以说比切换协议简单。

  • MITM的风险是真实的。

  • 在您的链接之后,用户“Helios”非常重视使用100%HTTPS对用户来说远没有那么容易混淆。

答案 2 :(得分:16)

这种事情在网络上突然出现,特别是在登录是可选的网站中。然而,由于非常微妙的原因,它本质上是不安全的,并且给用户带来了错误的安全感。我认为最近在codinghorror.com上有一篇关于此事的文章。

危险在于,当您发送的邮件目标为“https://xxx”时,发生该引用的页面并不安全,因此攻击者可以在传输过程中对其进行修改以指向任何攻击者希望的URL。因此,如果我访问您的网站,我必须查看来源以验证我的凭据是否已发布到安全地址,并且该验证与该特定提交的相关。如果我明天回来,我必须再次查看来源,因为页面的特定传递可能已被攻击并且后期目标被破坏 - 如果我不是每次都验证,那么当我知道后期目标被破坏时,它是太晚了 - 我已经将我的凭据发送给了攻击者的URL。

您应提供登录页面的链接;并且只要您已登录,登录页面及其后的所有内容都应该是HTTPS。而且,实际上,没有理由不这样做; SSL的负担是在最初的谈判中;后续连接将使用SSL会话缓存,而用于链接数据的对称加密实际上是非常低的开销。

答案 3 :(得分:10)

IE Blog解释:严重错误#1:非HTTPS登录页面(即使提交到HTTPS页面)

  • 用户如何知道表单是通过HTTPS提交的?大多数浏览器都没有这样的UI提示。
  • 用户怎么知道它会进入正确的HTTPS页面?如果登录表单是通过HTTP提供的,则无法保证服务器和客户端之间没有更改。

答案 4 :(得分:6)

Jay和Kiwi对MITM攻击是对的。但是,重要的是要注意攻击者不必破坏表单并给出一些错误消息;攻击者可以改为插入JavaScript以将表单数据发送两次,一次发送给他,一次发送给你。

但是,老实说,你必须问,攻击者拦截你的登录页面并在飞行中修改它的可能性是多少?它是如何与(a)在SSL会话上进行MITM攻击的风险相比,并希望用户按“OK”继续; (b)在您初次重定向到SSL时执行MITM(例如,从http://example.comhttps://example.com),然后重定向到https://doma1n.com,这是受攻击者控制的; (c)您的网站上有某个XSS,XSRF或SQL注入缺陷。

是的,我建议在SSL下运行登录表单,没有任何理由不这样做。但如果不是,我不会担心,可能会有更低的成果。

更新

上述答案来自2008年。从那时起,许多其他威胁变得明显。例如,从随机不受信任的网络(例如WiFi热点)访问站点(附近的任何人可能能够实现该攻击)。现在我说是的,你绝对应该加密你的登录页面,并进一步加强你的整个网站。此外,现在有解决初始重定向问题(HTTP严格传输安全性)的解决方案。 Open Web Application Security Project提供了几种最佳做法指南。

答案 5 :(得分:2)

This post是关键的一个。是的,如果用户的数据发送给您,它将安全地到达某处。但是没有理由相信某个地方会成为你的网站。攻击者此时不仅要听取每个方向移动的数据。他将成为用户会话的另一端。您的网站只是认为用户从不打算提交表单。

答案 6 :(得分:2)

对我来说(作为最终用户),HTTPS会话的价值不仅仅是数据是加密的,还有我验证我正在输入我的超级秘密的页面来自这个地方我想要它。

将表单放在非HTTPS会话中会失败。

(我知道 - 这只是说这种形式受到MITM攻击的另一种说法。)

答案 7 :(得分:1)

不,从HTTP到HTTPS都不安全。请求的起始点和结果点必须是HTTPS才能建立和使用安全通道。

答案 8 :(得分:1)

每个人都建议您只提供登录页面的链接,似乎忘记了使用MITM攻击可以轻松更改链接。

答案 9 :(得分:1)

上述所有内容中最重要的一点是,总体趋势是在主页上进行登录(用户体验趋势的巨大趋势)。

这里的一个大问题是谷歌不喜欢有充分理由搜索安全页面,所以所有那些想知道为什么不安全的开发人员,如果你想让你的页面对谷歌不可见,那就确保一切安全。否则,从http发布到https的第二个最佳选择是此时两个邪恶中的较小者?

答案 10 :(得分:-2)

我认为这个问题的主要考虑因素与用户知道的URL和浏览器默认替代的协议方案(http :)有关。

在这种情况下,想要确保加密频道的网站的正常行为是http://home-page重定向到https://home-page。仍然存在欺骗/ MitM机会,但如果是DNS中毒,则风险不会高于使用https:URL开始的风险。如果有不同的域名,那么您需要担心。

这可能足够安全。毕竟,如果您受到目标MitM的影响,您可能会开始担心键盘记录器,本地HOSTS文件以及各种其他方式来查找涉及您的系统已经拥有的安全交易。