DVWA-CSRF(跨站请求攻击)

CSRF(Cross-site request forgery)
CSRF,全称Cross-site request forgery,翻译过来就是跨站请求伪造,是指利用受害者尚未失效的身份认证信息(cookie、会话等),诱骗其点击恶意链接或者访问包含攻击代码的页面,在受害人不知情的情况下以受害者的身份向(身份认证信息所对应的)服务器发送请求,从而完成非法操作(如转账、改密等)。CSRF与XSS最大的区别就在于,CSRF并没有盗取cookie而是直接利用。
CSRF (服务器信任经过身份认证的客户)
前提:
1.用户必须登录
2.黑客必须懂一些发包的请求
3.服务器端不会有二次认证
4.被害者是不知情的
Low
在这里插入图片描述
服务器收到修改密码的请求后,会检查参数password_new与password_conf是否相同,如果相同,就会修改密码,并没有任何的防CSRF机制(当然服务器对请求的发送者是做了身份验证的,是检查的cookie,只是这里的代码没有体现= =)。

1.构造链接 被害者点击后自动改密码
http://192.168.31.2/dvwa/vulnerabilities/csrf/?password_new=123456&password_conf=123456&Change=Change
在这里插入图片描述
构造攻击页面现实攻击场景下,在kali(做服务器使用)上传一个攻击页面,诱骗受害者去访问,真正能够在受害者不知情的情况下完成CSRF攻击。
脚本代码 1.html
http://192.168.31.2/dvwa/vulnerabilities/csrf/?password_new=123456&password_conf=123456&Change=Change

<img src=“http://192.168.31.2/dvwa/vulnerabilities/csrf/?password_new=hack&password_conf=hack&Change=Change#” border=“0” style=“display:none;”/>
<h1>404<h1>
<h2>file not found.<h2>
构造url
http://192.168.70.134/1.html
在这里插入图片描述
XSS与CSRF结合

在这里插入图片描述
此后浏览该页面,自动跳转改密码
创建POC bp抓包转csrf poc
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
Medium
在这里插入图片描述
在这里插入图片描述可以看到,Medium级别的代码检查了保留变量 HTTP_REFERER(http包头的Referer参数的值,表示来源地址)中是否包含SERVER_NAME(http包头的Host参数,及要访问的主机名,这里是192.168.31.2),希望通过这种机制抵御CSRF攻击。
Referer: http://192.168.31.2/dvwa/vulnerabilities
直接使用链接,发现无referer,并且密码修改不成功
在这里插入图片描述
在这里插入图片描述
加referer
在这里插入图片描述
在这里插入图片描述
创建poc方式,加入referer后,转成html脚本
在这里插入图片描述
在这里插入图片描述
访问http://192.168.70.134/2.html
在这里插入图片描述
在这里插入图片描述
HIGH
在这里插入图片描述
High级别的代码加入了Anti-CSRF token机制,用户每次访问改密页面时,服务器会返回一个随机的token,向服务器发起请求时,需要提交token参数,而服务器在收到请求时,会优先检查token,只有token正确,才会处理客户端的请求。
由低级别获取cookie值,然后将高级别的cookie修改为低级别的cookie,即可成功修改密码
security=low; PHPSESSID=nunsrve6los9afti9p1lo2aml0
在这里插入图片描述
在这里插入图片描述
Impossible
在这里插入图片描述
二次认证防御csrf漏洞

发布了13 篇原创文章 · 获赞 0 · 访问量 285

猜你喜欢

转载自blog.csdn.net/bc221yz/article/details/105017940
今日推荐