皮卡丘暴力破解

基于表单的爆破

步骤一:进入Pikachu靶场暴力破解的基于表单模块,尝试登录发现登录失败返回内容为 username or password is not exists~ 而使用争取的账号密码登录为返回结果为 login success 开启Burpsuite的代理并登录使用BP抓取用户登录的数据包...

POST /vul/burteforce/bf_form.php HTTP/1.1
Host: 39.104.122.217:8000
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:97.0) Gecko/20100101 Firefox/97.0
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,*/*;q=0.8
Accept-Language: zh-CN,zh;q=0.8,zh-TW;q=0.7,zh-HK;q=0.5,en-US;q=0.3,en;q=0.2
Content-Type: application/x-www-form-urlencoded
Content-Length: 42
Origin: http://39.104.122.217:8000
Connection: close
Referer: http://39.104.122.217:8000/vul/burteforce/bf_form.php
Cookie: PHPSESSID=ldr6tst8oc5h5nrpmn8occagpj
Upgrade-Insecure-Requests: 1

username=admin&password=admin&submit=Login

步骤二:按下快快捷键Ctrl+i将捕获数据包发送到Intruder模块中...在Positions标签页下设置Attack typeCluster bomb(集束炸弹)模式...并点击右侧的Clear$清楚掉变量...选中username字段和password字段的值并依次点击Add$按钮添加要爆破的变量...1,2....

步骤三:点Payloads标签页在Payload set设置中选中第一个要攻击的目标变量...并且设置Payload typeRuntime file...在Payload Options下设置爆破用户名的字典路径...同样在设置第二个变量也是如此...

步骤四:在Option标签中的Grep-Match下添加登陆失败时发回的提示字符串username or password is not exists便于查找我们之后进行攻击破解出的正确账户和密码...

步骤五:点击Positions标签页右上角的Start Attack开始进行爆破...在打开新的页面中显示爆破结果...需要注意的是没有出现√的就是服务器没有返回username or password is not exists字符串的数据包...而没有出现√的则是有可能爆破成功的...

验证码绕过(on client)

快速判断在页面中哪些功能点使用了JavaScript脚本代码可以使用火狐浏览器中的Disbale JavaScript插件来进行检查...

步骤一:打开靶场暴力破解模块中验证码绕过(On client)页面,执行以下操作...查看结果并启动火狐浏览器中的插件Disbale JavaScript来判断验证码是否是前端的JS代码产生的功能...

  • 随意输入账户和密码不输入验证码
  • 随意输入账户和密码输入错误的验证码
  • 随意输入账户和密码输入正确的验证码

步骤二:通过Disbale JavaScript插件可以判断出验证码可能是由前JS代码生成..抓取用户登录的数据包并发送到Repeater模块中...多次重放发现服务端并没有做检查

步骤三:将处于Proxy模块的数据包发送到Intruder模块下...设置Attack typeSinper(狙击手)模式...并设置password字段值为攻击向量....在Payloads标签中设置Payload typeSimple list并在Payload Options加载密码字典....

步骤四:点击Start Attack进行暴力破解...成功如下...

验证码绕过(on server)

知识点:服务端验证码存在一定的时效性....

步骤一:进入Pikachu靶场暴力破解的基于表单模块,尝试以下方式登录....并观察结果...

  • 随意输入账户和密码不输入验证码
  • 随意输入账户和密码输入错误的验证码
  • 随意输入账户和密码输入正确的验证码

步骤二:填写错误的用户密码与正确的验证码并抓取用户登录数据包发送到Repeater模块下...改变验证码或不填,来判断后台是否对验证码进行校验....

步骤三:通过反回的响应验证码不能为空哦!判断出,后台对验证码进行了校验,我们不能使用之前的方进行破解,但是如果验证码不具备时效性,及同一个正确的验证码可以反复使用的话,我们可以通过不改变验证码的变量进行暴力破解,为了再判断验验证码的时效性(后台是否会在一段时间内对验证码刷新并重新进行校验)....填写正确的验证码再随意填写用户名和密码并多次重复这个步骤....

步骤四:通过服务器多次发回的响应username or password is not exists~判断,这个验证码不具备时效性,后台不会在一段时间内刷新验证重新进行校验,同一个验证码同样具有有效性。那么就可以使用之前的方法来进行暴力破解。将POST请求发送到Intruder模块下。点击Clear$清除变量,再将账户和密码设置为变量,同时将验证码填为正确的验证码。

Token防爆破

什么是Token?

简单的说token是由服务端生成的一串字符串,作为客户端向服务端请求的一个标识。在前端使用用户名/密码向服务端发送请求认证,服务端认证成功,那么在服务端会返回token给前端,前端在每次请求时会带上服务端发来的token来证明自己的合法性。

###Token抓取###

步骤一:将BurpSuieProxy模块设置抓取HTTP响应包..

步骤二:进入Pikachu靶场的Token方爆破界面开启代理并输入账号密码并使用BP进行捕获请求数据包...

步骤三:可以看到此时请求的Token值为9663762175375dc94a082617602点击Forward转发并捕获服务器相应数据包...发现Token的Value值为58234621754bde4c37140138431

步骤四:回到登录页面进行用户登录并抓取数据包发现...Token值为58234621754bde4c37140138431即服务器发送的Token值.....

###Token爆破###

步骤一:在PikachuToken方爆破的界面进行登录并抓取数据包...将其发送到Intruder模块...

步骤二:在Intruder模块下的Attack Type选择Pitchfork模式(音叉攻击),点击右侧Clear$并在password字段与token字段值上点击Add$添加变量...如下

步骤三:点击Options标签在Request Engine中设置线程数为1并在Grep-Extract中点击Add添加提取信息...在新的页面中点击Fetch response并在下面的搜索框中搜索value选中value的值并复制...点击Ok,在Redirections中点选Always关注重定向...

31212621758a3b497a946494928

步骤四:在Payloads标签页中设置Payload set第一个变量的类型为Runtime file并在Payload Options中选在要进行爆破的密码文件....在第二个变量选择类型为Recursive grep并在Payload Options中将之前复制的Token值填写入Initial payload for first request中...

步骤五:点击Start attack或者工具栏中的Intruder-->Stack attack开始进行爆破...在弹出的页面中寻找Length长度不一样的数据包...并查看Response包中是否存在login success字段...即可爆破成功...

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值