从HTTP表单提交到HTTPS安全吗?

通过https提交http表单是否可以接受? 这似乎应该是安全的,但它允许一个中间人攻击( 这是一个很好的讨论 )。 像mint.com这样的网站允许你从http页面login,但是做了一个https post。 在我的网站,请求是有一个httplogin页面,但能够安全地login。 是不是值得可能的安全风险,我应该让所有的用户去一个安全的页面login(或使登陆页面安全)?

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

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

  • MITM的风险是真实的。

  • 在您的链接之后,用户“Helios”提供了一个很好的观点,即使用100%的HTTPS对用户来说不会造成混乱。

将表单从http页面发布到https页面时,将以最简单的方式对表单中的数据进行encryption。 如果有中间人攻击,浏览器会提醒你。

但是,如果原始的http表单遭到中间人的攻击,并且攻击者修改了https post-back地址,那么您将不会收到警告。 数据实际上仍然会被encryption,但是中间人攻击者可以解密(因为他首先向你发送密钥)并读取数据。

另外,如果表单通过其他方式(脚本连接)发回事件,则表单发布之前可能会有未encryption的数据通过networking发送(尽pipe任何好的网站都不会对任何types的敏感数据执行此操作) 。

这种事情正在networking上popup,特别是在login是可选的网站。 然而,由于相当微妙的原因,它本质上是不安全的,给用户一种错误的安全感。 我认为最近有一篇关于codinghorror.com的文章。

危险之处在于,当您发送的页面的后置目标为“ https:// xxx ”时,引用的页面不安全,因此攻击者可以在传输过程中修改该页面以指向攻击者的任何URL祝愿。 所以,如果我访问您的网站,我必须查看来源,以validation我的凭据是张贴到一个安全的地址,并validation只有具体提交的相关性。 如果我明天返回,我必须再次查看源代码,因为页面的特定传递可能已经被攻击,并且目标被颠覆了 – 如果我不validation每一次,那么当我知道后期目标被颠覆的时候,太晚了 – 我已经将我的凭据发送到攻击者的URL。

应提供一个链接到login页面; 而且login页面及其后的所有内容只要您login就应该是HTTPS。而且,实际上,没有理由不这样做。 SSL的负担在最初的谈判上; 随后的连接将使用SSL会话caching,并且用于链接数据的对称密码实际上是非常低的开销。

IE博客解释: 严重错误#1:非HTTPSlogin页面(即使提交到HTTPS页面)

  • 用户如何知道表单是通过HTTPS提交的? 大多数浏览器没有这样的UI提示。
  • 用户怎么可能知道这是正确的HTTPS页面? 如果login表单是通过HTTP传递的,则不能保证在服务器和客户端之间没有更改。

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

但是,说实话,你必须要问,攻击者拦截login页面并在飞行中修改它的机会有多大? 与(a)在SSL会话中进行MITM攻击海峡并希望用户按下“确定”继续相比, (b)在您最初redirect到SSL(例如,从http://example.com到https://example.com )上执行MITM,然后redirect到https://doma1n.com ,而攻击者可以控制它; (c)您的网站上有某个XSS,XSRF或SQL注入漏洞。

是的,我build议在SSL下运行login表单,没有任何理由不要。 但是如果不是,我不会太担心,可能会有更低的挂果。

更新

上面的答案是从2008年开始的。从那以后,很多额外的威胁变得明显。 例如,从随机不受信任的networking(如WiFi热点( 任何附近的任何人可能能够阻止该攻击))访问站点。 现在我会说是的,你绝对应该encryption你的login页面,并进一步你的整个网站。 此外,现在有解决最初的redirect问题(HTTP严格传输安全)。 开放Web应用程序安全项目提供了几个最佳实践指南。

这篇文章是关键之一。 是的,如果用户的数据发送给您,它将安全地到达某个地方。 但是没有理由相信某个地方会成为你的网站。 攻击者在这一点上不仅要听取向各个方向移动的数据。 他将成为用户会话的另一端。 您的网站只是想用户从来不会提交表单。

对于我(作为最终用户)来说,HTTPS会话的价值不仅在于数据被encryption,而且我确认我input我的超级秘密的页面来自我想要的地方至。

在非HTTPS会话中使用该表单将会失败。

(我知道 – 这只是另一种说法,forms是MITM攻击)。

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

每个人都build议你只提供一个链接到login页面似乎忘记了这个链接可以很容易地使用MITM攻击来改变。

以上所有错误中最大的缺陷之一是,在主页上放置login是一种普遍的趋势(用户体验趋势中的巨大趋势)。

这里最大的问题在于,Google不喜欢有充分理由地search安全页面,所以那些想知道为什么不能安全的开发人员,以及如果你希望你的页面对Google不可见的话,那么这一切都是安全的。 否则,从http发布到https的第二个最好的select是两个邪恶在这一点中较小的?

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

在这种情况下,要确保encryption频道的站点的正常行为是将http://主页redirect到https://主页 。 还有一个欺骗/ MitM的机会,但如果是通过DNS中毒,风险不会比从https:URL开始的风险更高。 如果有不同的域名返回,那么您需要担心。

这可能足够安全。 毕竟,如果您受制于目标MitM,那么您可能会开始担心键盘logging器,您当地的HOSTS文件以及各种其他方式来查明您的系统已经拥有的安全交易。