我开发了我的应用程序以使用salted SHA-512密码哈希。
如果黑客要获取哈希,我该怎么做才能防止黑客使用Greasemonkey来改变登录页面以便密码不被哈希?我预见到的攻击向量将使他们能够将他们获取的哈希值输入到密码输入中,然后Greasemonkey更改的页面按原样发送该信息(无需对输入的密码进行哈希处理,即实际哈希值)。
这只是如何使用获取的哈希的一个例子。还有其他方法可以使用Greasemonkey更改站点的代码以获得相同的结果。
我想不出任何预防/防止此类攻击的方法。
有没有人想出点什么?
答案 0 :(得分:7)
在服务器上哈希密码。使用SSL来保护电线。
答案 1 :(得分:1)
这个问题是关于Greasemonkey拦截密码的漏洞,对吧?
在这种情况下,SSL会 nothing 来防止用户凭据被盗,密码(或哈希或其他)将直接从用户的浏览器获取,然后通过用户的浏览器传输给坏人GM_xmlhttpRequest()
如果您尝试对密码进行编码或散列,客户端,Greasemonkey可以拦截甚至替换负责的JS。
参见"Can a website know if I am running a userscript?",你可以让脚本编写者更难,但最终,如果坏人可以让用户安装Greasemonkey脚本(或者更糟糕的是,一个完整的附加/扩展) )那么你只能让用户的帐户遭受损害变得更难 - 而不是不可能。
除非您有证据表明正在使用恶意脚本或插件,否则我甚至不会担心。最终,用户负责保持其浏览器和客户端互动安全。
你可以采取哪些措施使脚本编写者更难(不是不可能):