Kei*_*ith 15
在cookie中使用单个令牌进行身份验证是否安全?
排序,如果该cookie仅限HTTP(这有助于防止XSS)和SSL,那么您网站外的任何人都无法读取该cookie.
但是,用户的浏览器可以保留该cookie,并且只要他们的浏览器再次从您的应用程序请求页面,它就会自动发送它.当用户浏览您的站点时,以及CSRF攻击的可能性,这是期望的.
为什么攻击者不能在隐藏字段中获取表单令牌?
在CSRF攻击中,黑客实际上无法读取您的站点或cookie,因为它应该受SSL/HTTPS保护.CSRF的工作原理是欺骗您的浏览器将您的数据与您的安全数据一起发送到您的网站.
因此,隐藏字段中的值是对CSRF的默认防御的一部分 - 它们在cookie中具有秘密值(黑客可以欺骗浏览器重新发送但无法查看或编辑)以及相同的值加密页面中的隐藏输入字段(黑客无法访问).如果cookie和隐藏值不匹配,那么您就有CSRF攻击.
攻击者如何使用POST请求执行CSRF攻击?
好的,假设你有一个安全的网站.您可以使用SSL登录此站点,您将获得一个仅限HTTP的SSL身份验证cookie,以便您保持登录状态.
现在我在一个完全不同的网站上有一个新页面.如果我从我的链接到您的网站,那么当您点击该链接时,它将离开我的网站并转到您的网站,传递您的cookie.
如果我<form>向我的页面添加一个回复到您网站的HTML ,则会发生同样的事情:浏览器会返回您的网站并发送表单中的所有数据以及您的Cookie.
请注意,我没有读取您的cookie或您网站上的任何页面,因为它们都受SSL加密保护.
为了达到最佳效果,我可以在页面上隐藏该表单,以便用户甚至不会意识到他们正在回发到您的站点.
一个微不足道的例子就是Facebook上的"赞"功能 - 他们现在修补了这个问题,但是有一段时间我可以欺骗你的浏览器(不需要访问你的详细信息)将你的身份验证cookie发送到Facebook的行动中喜欢我想要的东西.
| 归档时间: |
|
| 查看次数: |
2574 次 |
| 最近记录: |