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


73

通过https从http表单提交可以接受吗?看起来应该是安全的,但是它允许中间人攻击(这是一个很好的讨论)。有些网站如mint.com允许您从http页面登录,但可以执行https发布。在我的网站上,请求的是拥有一个http登录页面,但能够安全登录。这是否不值得承担安全隐患,我是否应该让所有用户都进入安全页面登录(或使登录页面安全)?


Answers:


33

有什么理由不对整个交易使用HTTPS吗?如果找不到很好的产品,请使用它!

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

  • MITM风险是真实的。

  • 跟随您的链接,用户“ Helios”提出了一个极好的观点,即使用100%HTTPS不会给用户造成混乱。


1
过去,出于性能原因,我已经找到了/ did /人,当时这是合法的。但是,这是其中的一个问题,尽管服务器和客户端的吞吐量和性能已经超过了现在的能力,但已将其教为几乎是教条。
杰森·可可

1
同意 那时,在算盘上进行矢量图形也很困难。:-)
Adam Liss

的确:)这是我不喜欢CS程序的一件事,它们太落后了,所以他们教这些过时的方法,然后成为每个人的宗教信仰的一部分……想想,想想!:)
杰森·可可

过时了吗 您应该已经看到我们在本科EE实验室中使用的20磅电阻器!至少欧姆定律没有改变。然而。
亚当·利斯

7
我认为最好让用户养成在非HTTPS页面上不输入登录信息的习惯。如果我看到HTTP并要求我登录,则只需单击登录并查看它是否使用HTTPS,然后我实际上输入了一些信息。
Bratch

52

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

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

另外,如果表单通过其他方式(脚本连接)将内容发送回去,则可能在表单发布之前通过有线方式发送未加密的数据(尽管任何好的网站都不会对任何敏感数据进行此操作) 。


最后一个简单的答案
Royi Namir

我还要补充一点,HSTS可以解决此问题(除了第一个请求外)
Royi Namir

16

这种事情在整个网络上都弹出,特别是在那些登录可选的站点中。但是,由于种种微妙的原因,它本质上是不安全的,并给用户一种虚假的安全感。我认为最近在horshoringhorror.com上有一篇有关此的文章

危险是,当您发送的页面的发布目标为“ https:// xxx ”时,引用所在的页面并不安全,因此攻击者可以在传输过程中对其进行修改,以指向攻击者的任何URL。的愿望。因此,如果我访问您的网站,则必须查看源以验证我的凭据已被发布到安全地址,并且该验证与该特定提交有关。如果我明天返回,则必须再次查看源代码,因为该页面的特定交付可能已受到攻击并且发布目标已被颠覆-如果我不每次都进行验证,那么我知道发布目标已被颠覆时,为时已晚-我已经将凭据发送到攻击者的URL。

应提供指向登录页面的链接;只要您登录,登录页面及其后的所有内容都应为HTTPS。并且,实际上,没有理由不这样做;SSL的负担在于初始协商;随后的连接将使用SSL会话缓存,并且用于链接数据的对称加密实际上开销非常低。


10

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

  • 用户如何知道该表单是通过HTTPS提交的?大多数浏览器都没有此类UI提示。
  • 用户如何知道它正在转到正确的HTTPS页面?如果登录表单是通过HTTP发送的,则不能保证在服务器和客户端之间未更改该表单。

2
但是他们自己并不练习。
约翰·米

6

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

但是,老实说,您必须问,攻击者拦截登录页面并在运行中对其进行修改的机会是多少?与(a)在SSL会话上进行一次MITM攻击并希望用户按“ OK”继续的风险相比,它的风险如何?(b)在您最初重定向到SSL(例如,从http://example.comhttps://example.com)并进行重定向到https://doma1n.com的情况下执行MITM ,该操作由攻击者控制; (c)您的网站某处存在XSS,XSRF或SQL注入漏洞。

是的,我建议在SSL下运行登录表单,没有任何理由不这样做。但是,如果不是这样的话,我也不会担心,可能还有很多悬而未决的结果。

更新资料

上面的答案是从2008年开始的。此后,许多其他威胁变得显而易见。例如,访问来自不受信任的随机网络的站点,例如WiFi热点(附近的任何人都可以发起该攻击)。现在我要说的是,您绝对应该对登录页面进行加密,并进一步扩展整个站点。此外,现在有针对初始重定向问题(HTTP严格传输安全性)的解决方案。在开放Web应用安全项目提出了一些最佳做法指南可用。


2
是的,可能有较低的挂果率;但是这种心态就是为什么网络如此不安全的原因……每个人都在说这并不重要……但是如果一些毫无戒心的用户在您的网站和银行网站上使用相同的密码怎么办?
劳伦斯多尔

3
“攻击者有什么机会拦截您的登录页面并在飞行中对其进行修改?” 这不是概率问题,它是否发生取决于攻击者的选择。是的,MITM确实在实践中发生。“悬而未决的果实可能要少得多”,这是人们对任何事情都能做出的最弱的论点。真的,您能想到一个不仅仅虚假的弱者吗?此外,即使可以指望您的攻击者先采摘最低的果实,这又意味着他们会停在那里?
Marsh Ray,2009年

对我而言,“机会”绝对是错误的选择。但是,由于其他攻击媒介,我认为您没有获得太多实际的安全性。MITM攻击可能一次危及您的用户一个用户(或ISP),但是SQL注入可能立即危及您的所有使用。我认为,将安全时间花在您将获得最大收益的地方是有道理的,这可能不是SSL与非SSL登录页面。
derobert

1
如果发生了MITM攻击,您将遇到更大的问题。首先,他们可以轻松地更改“登录”链接以指向自己的攻击站点,或者更好的是,他们可以拦截DNS查找以使站点对用户完全合法。在您说“哦,但是浏览器会警告用户”之前,不,不,他们不会。即使用户检查有效的SSL证书,也可以通过一些方法解决。因此,我猜您唯一的选择是离线进行所有商务。
冒犯君主

2

这篇文章是关键。是的,如果将用户的数据发送给您,则该数据将安全地到达某处。但是没有理由相信您的网站会在某个地方。攻击者此时不仅要听各个方向的移动数据。他将成为用户会话的另一端。您的网站只会认为用户从未花时间提交表单。


2

对我(作为最终用户)而言,HTTPS会话的价值不仅在于数据已加密,而且我已验证我要输入超级机密的页面是否来自我想要的地方至。

在非HTTPS会话中使用表单会破坏这种保证。

(我知道-这只是表示该表格容易受到MITM攻击的另一种说法)。


1

不,从HTTP转到HTTPS是不安全的。请求的始发点和结果点必须是HTTPS,以便建立和使用安全通道。


问题是是否保存以提供HTTP上的初始表单,并通过HTTPS发布数据。不可能在转移途中进行切换,但是可以在两者上放置物品。
雷蒙德·马丁诺

6
+1这个答案是绝对正确的。如果表单是通过HTTP传递的,您甚至不能保证该表单将通过HTTPS提交。
Marsh Ray,2009年

1

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


1
但是,当用户单击链接到(安全)登录页面时,SSL协商可以在发生任何恶作剧时提醒他们。
Shiny先生和新安宇

@Mr Shiny and New:仅当他们仔细查看URL时。最好的选择是对整个站点进行HTTPS。
Bart van Heukelom

1
@Bart van Heukelom:整个站点的HTTP仅适用于正确键入的url或正确保存的书签,不是吗?如果用户从不查看url(或现代浏览器的位置栏上的任何位置,这些URL提供了所连接主机名的增强的可见性),则SSL毫无意义。
Shiny先生和New安宇先生

@Mr Shiny and New:是的,但是从HTTP到HTTPS的初始重定向,特别是如果用户随后将HTTPS版本标记为书签,对于黑客来说是一个比每次单击登录链接都小的窗口。
Bart van Heukelom

@Bart:是的,在确认登录URL正确之后,用户只需将我的书签添加为书签,便可以轻松地将HTTPS登录页面添加为书签。
劳伦斯·多尔

1

以上所有遗漏的最大的事情之一是,将登录名放在主页上是一种普遍的趋势(用户体验趋势中的巨大趋势)。

这里最大的问题是Google不希望有充分的理由来搜索安全的页面,因此所有想知道为什么不使所有页面都安全的开发人员都可以,如果您希望自己的页面对Google而言是不可见的,那么请对所有页面进行安全保护。否则,从http张贴到https的第二个最佳选择是此时减少两种弊端?


1
否,第二好的选择是从HTTP站点页面链接到HTTPS登录页面。
劳伦斯·多尔

-2

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

在这种情况下,要确保加密通道的站点的正常行为是将http:// home-page重定向到https:// home-page。仍然存在欺骗/ MitM的机会,但是如果是通过DNS中毒,则风险不比使用https:URL开头的风险高。如果返回了另一个域名,则需要担心。

这可能足够安全。毕竟,如果您有针对性的MitM,那么您不妨开始担心键盘记录器,本地HOSTS文件以及各种其他方式来查找涉及系统的安全交易。


1
“毕竟,如果您受到针对性的MitM的约束,那么您不妨开始担心键盘记录器,本地HOSTS文件以及各种其他方式来查找涉及已经拥有的系统的安全交易”。我想知道您的系统最初是如何被拥有的?
Marsh Ray,2009年
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.