DVWA 靶场CSRF通关

2.2.1 CSRF攻击low难度

首先打开网站登录,设置难度low,选择CSRF页面。

分析源码

服务器收到修改密码的请求后,会检查参数password_new与password_conf是否相同,如果相同,就会修改密码

修改密码abc123之后就会在地址栏出现相应的链接可以发现是get型所以提交的参数会所以显示,并提示密码修改成功。

然后再修改密码123456后的链接是:

为了模拟真实的攻击场景再缩成短连接

然后模拟网站钓鱼

写一个html网页,代码如下:

<html>
恭喜你中一等奖了请点按钮领奖
  <a href="短连接网址">
      <button>点我领奖</button>
  </a>

	
</html>

在浏览器打开

我们模拟被钓鱼者来点击按钮

提示密码修改成功

点击Test Credentials按钮来登录查看密码是否被更改

成功

2.2.2 CSRF攻击medium难度

首先打开网站登录,设置难度medium,选择CSRF页面。

接下来我们尝试攻击:

被攻击者先修改密码可以看到还是和上小节一样

再更改密码,再打开修改的网址

换个网页修改密码就不行了,会报错

打开burp抓包

发现缺少 Referer 头

补上http://192.168.10.143/DVWA/vulnerabilities/csrf/

然后发送到Repeater

再点send发送

可以看到密码已修改成功

2.2.3 CSRF攻击high难度

分析源码:

添加了一个generateSessionToken()函数,用户每次访问修改密码时服务器会返回一个随机的token,向服务器发起请求时,需要提交token参数,而服务器在收到请求时,会优先检查token,只有token正确,才会处理客户端的请求。

被攻击者先修改密码发现多了一个user_token

根据源码可知每次修改密码需要先验证其token值。

我们用存储型XSS获得这个token

我们在存储型XSS上传一个脚本,旨在获取并且弹出它的token值,每次点击到XSS,所上传的脚本都会被执行一次。

<iframe src="../csrf/"onload=alert(frames[0].document.getElementsByName('user_token')[0].value)></iframe>

更改LOW级别

粘贴进去发现有限制

按F12修改一下

再更改HIGH级别

已经弹窗

获取到token值后将它加入到之前的链接后面再访问

更改成功

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值