DVWA-csrf

0x00 漏洞介绍

CSRF全称为跨站请求伪造(Cross-site request forgery),是一种网络攻击方式,也被称为 one-click attack 或者 session riding。 CSRF攻击利用网站对于用户网页浏览器的信任,挟持用户当前已登陆的Web应用程序,去执行并非用户本意的操作。 用户登录、浏览并信任正规网站WebA,同时,WebA通过用户的验证并在用户的浏览器中产生Cookie。
简单理解:将即将支付网址连接盗取,将伪造站点操作代码放在csrf伪造站点,当点击伪造站点自动执行里面的命令行为(完成页面支付)—小黄的理解

0x01 csrf漏洞操作

**1) low型
low级别通过get请求即可直接修改密码

方法:将url请求地址盗取直接修改密码重新请求即可
盗取修改密码连接
盗取get地址直接修改

2)medium型
首先介绍中级,当我们以get型想请求修改密码,发现不可行,通过抓包发现,数据包中存在一行唯一标识符(记录数据包第一地址),相比系统就是检查数据包是否具有这个唯一标识从而允许或不允许修改密码

数据包
发现缺少头

抓取正常请求包
发现标识

接下来通过将referer头(记录数据第一发送地址)记录,填充到我们盗取的请求连接,从而达到通过检测
盗取请求

添加进伪造标识
添加标识

修改成功
密码修改成功

3)high级别

high检测是检测是否具有一个token值类似于cookie值,也是唯一的,而不同的是,这个值每一回合都会改变,这需要配合xss储存型漏洞,将每一回合之前的这个token值提取出来,再通过盗取请求修改密码连接,将值添加进去,主要注意的是这个值需要获取后再去跳转请求伪造修改,中途不能够刷新,以为每一个回合都会改变

插入储存型xss发现,插入语句太长,页面无法全部填进去,通过修改js代码,修改当前限制值,再插入xss代码,获取token值

xss-payload:

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

首先盗取请求连接
盗取请求连接

数据包发现存在唯一token值
token值

插入xss
修改js限制插入xss

获取token值
获取token

修改盗取请求地址数据包,将值修改进去
修改当前token

修改成功
友情提示师傅们不要忘记了修改的账号密码呀,不然只有暴力破解咯,或者用靶场其他默认密码~

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
首先,我们需要在本地搭建一个DVWA环境。DVWA是一个漏洞练习平台,可以用于学习和测试Web应用程序的安全性。您可以从以下网站下载DVWA并进行安装:https://github.com/ethicalhack3r/DVWA。 接下来,我们需要绕过CSRF-token进行攻击。CSRF-token是一种防止CSRF攻击的措施,它是一个随机生成的字符串,用于验证请求是否来自合法的来源。在DVWA中,我们可以通过修改一个cookie来绕过CSRF-token。 下面是具体的攻击步骤: 1. 打开DVWA,登录并进入CSRF实验页面。 2. 在Chrome浏览器中打开开发者工具,切换到“Network”选项卡,勾选“Preserve log”选项。 3. 在实验页面中点击“View Source”按钮,查看页面源代码。 4. 在源代码中找到与CSRF-token相关的代码,我们可以看到以下代码: ``` <input type="hidden" name="user_token" value="<?php echo $_SESSION['user_token']; ?>"> ``` 5. 复制CSRF-token,它通常位于name="user_token"的input标签中,value属性的值为一个长字符串。 6. 在开发者工具中找到与此页面对应的请求,点击它打开请求详情。 7. 在请求详情中找到Cookie选项卡,找到名为“PHPSESSID”的cookie并复制它的值。 8. 使用一个新的浏览器标签打开一个在线表单生成器,例如:https://www.123formbuilder.com/free-form-templates/Online-Order-Form-3578911/。 9. 在表单生成器中创建一个POST表单,将请求方法设置为POST,并填写以下表单字段: ``` action: http://your-dvwa-site.com/vulnerabilities/csrf/ amount: 1000 ``` 10. 在开发者工具中找到此页面对应的请求,复制请求头中的所有内容。 11. 使用curl或其他工具发送POST请求,将以上内容作为请求头发送,例如: ``` curl -X POST 'http://your-dvwa-site.com/vulnerabilities/csrf/' \ -H 'Cookie: PHPSESSID=your-session-id-here' \ -H 'Content-Type: application/x-www-form-urlencoded' \ -H 'Referer: http://your-dvwa-site.com/vulnerabilities/csrf/' \ -H 'User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/58.0.3029.110 Safari/537.36' \ -H 'Upgrade-Insecure-Requests: 1' \ -H 'Origin: http://your-dvwa-site.com' \ -H 'Accept-Encoding: gzip, deflate' \ -H 'Accept-Language: en-US,en;q=0.9' \ -H 'Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8' \ --data 'user_token=your-csrf-token-here&amount=1000&action=transfer' ``` 12. 您应该会看到成功的响应。 总之,这个实验展示了CSRF攻击的危害性以及如何绕过CSRF-token进行攻击。在实际应用中,我们应该采取更加安全的措施来防止CSRF攻击,例如使用双重身份验证或者更加严格的CSRF-token验证。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

告白热

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

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

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

打赏作者

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

抵扣说明:

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

余额充值