赞
踩
靶场一共有4关,现我们就开始通关吧。
靶场安装机器:Windows10(192.168.1.110)
渗透机器:Windows10(192.168.1.107)
Burp Suite Professional抓包工具
渗透机器登录靶场,开启抓包工具,然后尝试在靶场输入随意的账号:admin、密码123456
输入账号密码后,返回burp就看到刚才输入的账号密码
Payload 1 导入username字典,Payload 2 导入password字典
因为验证正确和验证错误的Response长度一般会不一样,所以直接Length排序,可以找到正确的用户名和密码。
以上三组账号密码都能登录靶场,第一关通关!
对比上一关,多了一个验证码
先尝试随机输入账号:admin,密码:111111,验证码:111111,看一看结果
然后尝试输入账号:admin,密码:111111,正确的验证码,看一看结果
这里很明显两者的提示有所不同,验证码正确就会提示“账号或密码错误”,验证码不正确就会提示“验证码输入错误”。
根据上述思路,那么我们可以思考,我们先输入一次正确的验证码,然后让其一直保持验证码正确的状态来进行暴力爆破。
进入Repeater模块,点击Send发送数据包,右边就是服务器返回来的数据包
然后点击右侧的Render模块查看页面返回的情况,看到用户名或密码错误,说明我们的验证码是正确的。
我们将左侧数据包下方的password参数改为admin123,验证码不变,再次点击Send发送数据包,然后再查看返回页面。
点击右键发送到intruder
后按照第一关的步骤进行爆破
获得账号密码,第二关通关!
这一关看着和上一关模块差不多,就是验证码样式有点不一样。
啥也不说,先按照第二关的操作,错误、正确的验证码各输入一次,账号:admin,密码:111111。
这不立马按照第二关的步骤来。
第三关的设立意义是什么?
抱着上面的疑问,我就尝试在验证码错误的时候试一下抓包。哎!竟然没有抓到包
,再三确认不是burp的问题后,我明白了,这关的和第二关的差别。
好了,到了这里就可以说一句,第三关通关!
这关的界面和第一关的界面看上去没区别
啥也不说,抓个包看看
这里多了一个token,这里面有问题啊,再抓多一次包看看
好了,看到差别了,第2次抓包的token明显和第1次的完全不一样。
这时候就只有分析以下这两次的数据包了,找到两次对应的token数据包
这样就能看出来了,第2次数据包发出的token就是第1次数据包从服务器返回来的token。
所以这个逻辑就很清晰了,服务器每次都会发送一个新的token给本地浏览器,用于下一次登录的token验证,如果不一致,说明这个POST是非法的,会被服务器拒绝。
攻击模式选择Pitchfork,这次是设置2个不同的Payload,所以Add的顺序一定要注意不要搞乱了(之前的也不要)。注意用户名和密码要选在一起。
设置Payload1,因为第一个变量包含了用户名密码,中间还有一段多余的&password=,所以设置payload1需要切成三块。
因为整个字段里有=和&,所以要把这个地方的=和&删掉,不然就都过滤了。
下面这一步是关键
, Options里面设置Grep-Extract,点击Add,找到token的位置,刷新一下,把token值选中,然后点OK。下面的Redirections要选Always。另外token的初始值要复制过来
。
返回设置Payload2,选择Recursive grep,刚才抓取的代码就自动过来了,把初始值填在下面,打个勾就行了。
最后Resource Pool要设置成单线程,只能按顺序一条条提交,不然token就乱了,单线操作还是稳的。因为跑了两个虚拟机,还开了一堆东西,服务器响应比较慢,直接开到100ms慢慢跑。
点击Start attack开始爆破
好了,获取到账号密码了,第四关通关!
BurpSuite爆破的几种模式
攻击模式 | Payloads | 攻击效果 |
---|---|---|
Sniper | 1 | 一个参数不变,另一个遍历字典 |
Battering ram | 1 | 两个参数同步遍历一个字典 |
Pitchfork | N(取决于参数有几个) | 两个参数同步遍历两个不同的字典 |
Cluster bomb | N(取决于参数有几个) | 两个字典的笛卡尔积 |
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。