CSRF靶场练习

简述:CSRF漏洞实际很少;条件限制很多;局限性很大;实验仅供参考,熟悉csrf概念和攻击原理即可

Pikachu靶场

CSRF GET

登录用户vince的账户可以看到用户的相关信息;

点击修改个人信息,发现数据包里除了cookie没有任何其他验证信息

通过右键Engagement tools选项找到生成csrf poc

将生成的poc复制放到html文件然后打开;或者直接选择test in browser

注意:这里的payload是通过表单进行提交的;GET请求时也可以直接构造链接进行诱导

如<a href="localhost/vul/csrf/csrfget/csrf_get_edit.php?sex=123&phonenum=123&add=123&email=123&submit=submit">iphone14抽奖立减3000元</a>

打开的页面如下;只有一个确认按钮;剩下的选项被隐藏了;一旦点击就会是用户信息都改为123

CSRF POST

同上;登录allen的账号

同样抓取修改信息的数据构造csrf poc

同样的访问csrf页面,点击按钮

点击后发现用户信息都被修改了

CSRF token

这关加了token验证;普通流程过不去

登录kobe账户;发现时GET方法;但是增加了token验证;每次请求token值都不同;由服务器随机分配的

同样的利用bp生成poc

访问链接

点击恶意链接,发现用户信息并未被修改;这是因为token验证失败的结果;

这说明对于CSRF攻击token验证就可以做到完美防御

绕过思路:可以利用bp插件绕过;下载csrf token trace插件

仅供实验参考;实际不可用;由于浏览器设置了bp作为代理;所以能实现绕过

bp下载对应插件

下载完成后对插件进行设置

此时在点击恶意链接发现用户信息被修改了;这说明该插件在请求发送之前获取了服务器的token值并对请求进行了替换

DVWA 靶场 CSRF

LOW

登录网站;点击修改密码;bp抓包;发现没什么其他验证;GET方法+cookie

通过右键工具生成csrf poc

测试poc

通过浏览器登录验证;发现密码确实被修改为了123

Medium

同样的方法;修改密码;抓包查看数据;发现跟LOW一样

获取csrf poc;

点击链接

跳转之后发现;密码未修改成功;后端进行验证了;推测时referer字段验证(只有这一个不稳定参数)

通过修改referer字段的数据验证了服务器确实检测了该字段;只允许之前访问域名中有该域名信息的链接访问;防止恶意链接跳转访问

解决方法:

1.将文件名改成目标ip地址或者域名

2.将文件放到含有目标ip地址/域名的文件夹下

3.创建一个网站域名包含目标站点的域名;然后把文件放到该网站根目录下即可

方法1和方法2可能不成功;因为referer字段有时候不包含文件名(可能是浏览器设置或者网站安全策略的问题);如果只得到实验结果的话可以手动对referer进行修改

方法3是可以实现的;

通过小皮创建一个dvwa123的网站;因为我把dvwa网站的域名设为dvwa了;新建的域名包含目标网站的域名,将生成的poc文件放到该网站根目录下

再次访问对应的链接,通过抓包发现referer是不包含文件名的;

但是密码被修改了

High

这关使用token验证;不再验证referer字段

使用插件绕过;设置插件配置用于获取和替换目标网站的token

配置完成后直接访问poc链接;发现页面跳转了,但是没有任何提示;通过登录验证发现密码已经修改了

总结

从这几个案例中可以了解csrf的原理和危害已经防御方法

条件:同一浏览器+同时打开至少两个网站+保持登录其中一个存在csrf漏洞的网站并在另一个网站中访问了刚好针对该登录网站的恶意链接

危害:个人数据被修改;资产消失等;现实这种漏洞实现条件苛刻,了解就行

防御方法:token验证,验证码,浏览器同源策略,增加输入原始密码的选项(自定义验证字段)等

10

相关推荐
崔庆才丨静觅2 小时前
hCaptcha 验证码图像识别 API 对接教程
前端
passerby60613 小时前
完成前端时间处理的另一块版图
前端·github·web components
掘了3 小时前
「2025 年终总结」在所有失去的人中,我最怀念我自己
前端·后端·年终总结
崔庆才丨静觅3 小时前
实用免费的 Short URL 短链接 API 对接说明
前端
崔庆才丨静觅4 小时前
5分钟快速搭建 AI 平台并用它赚钱!
前端
崔庆才丨静觅4 小时前
比官方便宜一半以上!Midjourney API 申请及使用
前端
Moment4 小时前
富文本编辑器在 AI 时代为什么这么受欢迎
前端·javascript·后端
崔庆才丨静觅4 小时前
刷屏全网的“nano-banana”API接入指南!0.1元/张量产高清创意图,开发者必藏
前端
剪刀石头布啊4 小时前
jwt介绍
前端
爱敲代码的小鱼4 小时前
AJAX(异步交互的技术来实现从服务端中获取数据):
前端·javascript·ajax