我有一个MVC 3 .NET应用程序,正在阅读antiforgerytoken
Here。我可以使用antiforgerytoken
来帮助防止此攻击,但我也知道我的网站正在运行HTTPS TLS 1+。
有人可以预先形成跨浏览器攻击antiforgerytoken
的目的是防止使用TLS 1 +进行过多的HTTPS吗?
答案 0 :(得分:3)
简短回答:HTTPS不会阻止CSRF攻击。
如果一个坏人在他的网站上放置了一个表单,该表单会发布一些用户不想要的指令,那么HTTPS就不会阻止它。
示例:
假设您的网站有一个名为account.aspx的网页,如果POST变量'delete'的值为'true',则会删除当前帐户。一个坏人可以把它放在他的网站上
<form action="https://your.site.com/account.aspx" method="post">
<input type="hidden" name="delete" value="true" />
<input type="submit" value="Like this on Facebook" />
</form>
现在,如果您的某个用户恰好登录了您的网站并点击了此按钮,他们的浏览器就会被定向到您的网站,他们的帐户也会被删除。 HTTPS仍将加密其网站与浏览器之间的通信,并且不会以任何方式阻止此攻击。但是,如果您的网站使用防伪令牌,则攻击者需要将该令牌放入其表单中,如果您正确实施,则无法知道令牌是什么。
答案 1 :(得分:1)
有关详细说明,您可以在此处查看http://www.devcurry.com/2013/01/what-is-antiforgerytoken-and-why-do-i.html
https只能确保服务器说它是它声称的那个人。并不是说客户没有做任何奇怪的事情。