原理
在攻击者的网站去调用你的服务。比如点赞、关注、修改密码
攻击演示
<script>window.open("http://localhost/dvwa/vulnerabilities/csrf/?password_new=1&password_conf=1&Change=Change")</script>
原理解析
因为修改密码用的是GET请求,所以修改密码的链接可以在任何地方被调用。
只要用户登录了,并且点击了攻击者的网站链接,那用户的密码就会被修改了
防御
- 修改操作不要使用GET方式
- 增加
CSRF-Token
: 服务器端生成随机字符,返回给前端。前端提交时,在http头部设置,服务器端验证两个是否一致是否一致 - 跨越限制:
Access-Control-Allow-Origin
网友评论