这篇贴主要是分析了亚马逊,支付宝等登陆设计。指出登陆信息被截获并且用于重放攻击可能性,指出登陆设计存在改进空间。附近中是POC(Proof of Concept)程序,在浏览器内部抓取POST登陆信息,保存在c:\hijackhttp.txt中,亚马逊,支付宝的登陆信息可以明文重现。
OWASP对web登录设计给出的建议包括密码要具有一定的长度和复杂度,正确的登录提示,始终使用TLS加密通道传输密码防止密码被截获等。参考:https://www.owasp.org/index.php/Authentication_Cheat_Sheet
但是仅仅是加密通道传输登陆信息仿佛还是不够,因为即使是通过TLS加密的传输的登录信息也可能被截获。
登陆case分析:
首选看几个站点的登陆设计。
1. 亚马逊
亚马逊将用户登陆信息用户名和密码使用https传输。这里从截获的数据中可以清楚的看到登录email和相应的password。
2. 看雪论坛
看雪论坛使用http明文传输登录信息,password做了一次MD5运算。由于MD5是不可逆的,理论上无法推出password。但对于黑客来说其实无需知道password具体是多少,用password的MD5值构造一个数据包模拟发送给服务器,同样可以收到有效的cookie信息成功登陆。这就是所谓的重放攻击。下图是登陆数据包,202cb962ac59075b964b07152d234b70是密码123的MD5值。