CSRF漏洞简介
CSRF/XSRF跨站请求伪造,是一种对网站的恶意利用,通过伪装来自受信任用户的请求来利用受信任的网站。
CSRF攻击原理
- 用户C打开浏览器,访问受信任网站A,输入用户名和密码请求登录网站A;
- 在用户信息通过验证后,网站A产生Cookie信息并返回给浏览器,此时用户登录网站A成功,可以 正常发送请求到网站A;
- 用户未退出网站A之前,在同一浏览器中,打开一个TAB页访问网站B;
- 网站B接收到用户请求后,返回一些攻击性代码,并发出一个请求要求访问第三方站点A;
- 浏览器在接收到这些攻击性代码后,根据网站B的请求,在用户不知情的情况下携带Cookie信息, 向网站A发出请求。网站A并不知道该请求其实是由B发起的,所以会根据用户C的Cookie信息以C的权限处理该请求,导致来自网站B的恶意代码被执行。
防御CSRF攻击
目前防御CSRF攻击主要有三种策略:
1.验证HTTP Referer字段;
2.在请求地址中添加token并验证;
3.在HTTP头中自定义属性并验证。
靶场训练
LOW
输入两个123后点change
点击
用admin和123成功登录
复制链接
http://127.0.0.1/DVWA-master/vulnerabilities/csrf/?password_new=123&password_conf=123&Change=Change
修改链接参数后通过此电脑输入后可成功修改其密码
此时,在原来链接下输入密码123已不能成功登录
Medium