我正在构建一个允许使用SRP-6协议对服务器进行身份验证的JavaScript库。
我知道使用javascript作为身份验证方法并不是XSS的最佳选择。但适当的XSS预防可以消除大多数问题。
我唯一担心的是在用户收到请求之前修改服务器回复是多么容易?
示例场景:
用户请求页面:http://serverdomain/home
服务器: 回复:
<html>
<head>Home</head>
<script type="text/javascript" src="auth.js"></script>
<body>Home</body>
</html>
在用户收到回复之前。黑客能否以某种方式神奇地修改对
的回复<html>
<head>Home</head>
<script type="text/javascript" src="hacker_auth.js"></script>
<body>Home</body>
</html>
这可能吗?这是我在使用javascript进行身份验证时可以考虑的漏洞之一。
答案 0 :(得分:1)
你可以使用像HTTPS那样的安全协议来避免这种情况,虽然一切都可以被某种方式攻击,有些只是比其他方式更容易破解。
答案 1 :(得分:1)
Badaboooooom将其钉住:http://en.wikipedia.org/wiki/Man-in-the-middle_attack您可以使用https来降低风险,但如果用户没有注意到“锁定”消失,http://www.thoughtcrime.org/software/sslstrip/等工具仍可以进行攻击。 / p>