DVWA之CSRF代码审计

目录

Low

Medium

High

Impossible


传送门——> CSRF(跨站请求伪造)

Low

如下,我们知道页面的功能一个有两个。一个是修改当前dvwa登录密码,一个是测试密码是否修改成功

 我们可以看到low难度的源代码中,并没有添加token

 且修改密码是通过get请求发送,该修改请求可以构造 

 即,存此存在csrf的原因为

  • 发送修改密码的请求没有加token 后台无token验证,不能证明请求的唯一性与真实性
  • 修改密码无旧密码验证
  • 发送修改密码的请求数据容易被伪造

所以只要诱骗当前账户(通过了身份验证)点击修改密码的恶意链接就能成功修改密码,即存在csrf漏洞。这里使用burp中的CSRF漏洞验证poc进行验证,就不说了

 Medium

前端代码还是一样的,没有添加token,分析后端代码。相比于上一关这里验证了referer值。如果referer与host值不一样则拒绝修改

那这个referer值验证有什么用了?Referer记录了HTTP请求的来源地址,CSRF攻击,攻击者在他自己的网站构造请求,Refer值指向他自己的网站。所以这里的referer值与host的值是不一样的,如下

那这个怎么破了?只需要抓包修改Referer值和host值一样就行

High

观察前端页面,发现多了一个tokenFiled()函数 

跟踪该函数,发现该函数直接返回一个隐藏的表单,且值为Token值

 点击一下change,我们在元素中就可以看到该token值

 每次发送修改请求都会携带产生的唯一token值,服务端进行校验

 服务端对token进行验证

所以这里想要攻击成功,必须获取到token的值,而token能在前端页面获取,所以思路就是先通过js代码获取页面元素(Token值)

参考——> https://blog.csdn.net/liweibin812/article/details/86468880

Impossible

在high的基础上增加了对旧密码的验证。因此不存在CSRF漏洞

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Ly4j

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值