2011-06-13 33 views
2

如果我有这个页面中的“http://example.com/login”与GET动词:从HTTP到HTTPS,越快越好?

<form action="https://example.com/login" method="post"> 
    <input type="text" name="login"/> 
    <input type="password" name="pass"/> 
    <input type="submit" value="Login"/> 
</form> 

它是一个安全漏洞?我的意思是,该页面是HTTP,但发送数据时使用HTTPS。我已经多次阅读,我应该要求HTTPS已经登录页面,但我不清楚为什么。

回答

7

是的,它是有缺陷的。只要它是用户看到的的登录表单,你所拥有的就是安全的,

因为您的登录表单不安全,所以我可以一起来替换我自己的欺骗登录表单并收集用户的登录信息,例如。通过中间人攻击。如果登录表单和目标页面都使用SSL,则登录系统仅是安全的。

此外,用户看起来并不安全。用户在登录表单上查找挂锁符号,而您的用户没有挂锁符号。

+1

好吧,你似乎已经彻底改变了你的意见。 :) – Gumbo 2011-06-13 10:37:19

+1

@Gumbo:我回答的时候没有用我的大脑,然后纠正自己。通常我会在回答之前尝试吸引我的大脑,但是今天早上我的焦虑不足。 :-) – RichieHindle 2011-06-13 10:59:47

+0

它非常有意义,谢谢! – vtortola 2011-06-13 11:14:06

5

是的,这是一个安全缺陷

由于表单是通过HTTP提供的,因此可能会沿途被编辑。例如,这种编辑可能是附加的JavaScript,它将证书发送给攻击者控制的服务器,并让浏览器正常登录。

+1

@Quentin,你是说Twitter在登录过程中存在安全漏洞?因为它使用完全相同:twitter.com通过HTTP提供服务,并且位于其主页上的登录表单使用HTTPS(除了它使用POST而不是GET但这并不重要) – 2011-06-13 10:36:24

+2

是的,虽然它们也提供通过https的形式,所以如果你小心的话可以避免这个问题。 – Quentin 2011-06-13 10:38:39

+1

@Quentin,我不知道我理解你。该表单存在于通过HTTP提供的twitter.com上。这与OPs场景有何不同?我不相信你的解释。 – 2011-06-13 10:40:02