首页
论坛
课程
招聘
[原创]#30天写作挑战#Burp使用手册_接触
2020-9-14 17:36 836

[原创]#30天写作挑战#Burp使用手册_接触

2020-9-14 17:36
836

自述

前段时间认识了Burp这款渗透测试工具,并简单的使用了下,今天开始逐步接触它

token那些事情

上篇因token信息不在爆破请求的响应中,导致爆破失败,分析下其原因,加深下印象

  • 打开Burp代理拦截功能,输入任意账号密码进行登录,捕获请求数据,并发送到Repeater模块
    解析:Repeater模块用于手动处理和重新发出单个HTTP请求,并分析应用程序的响应。您可以从Burp内的任何地方将请求发送到Repeater,修改请求并一遍又一遍地发出。
  • 点击Send按钮点击发送查看响应

    分析现有的响应信息
    302跳转、响应大小:316、Location: login.php
302状态码都表示重定向,就是说浏览器在拿到服务器返回的这个状态码后会自动跳转到一个新的URL地址,这个地址可以从响应的Location首部中获取(用户看到的效果就是他输入的地址A瞬间变成了另一个地址B)

地址为login.php与请求地址相同,分析为输入错误的账号密码,跳转到登录页面
但响应信息无token信息,分析token信息来自接下来的请求
并且泄露了一些配置信息,例如:中间件版本信息Server: nginx/1.15.11,属于一个低危分析,可为攻击者针对该版本进行攻击,例如寻找该版本已公布的漏洞,或手里有的0day进行攻击。

  • 修改请求信息,对比响应信息,进行分析
    user-admin,admin-password,token信息不修改这样请求包含了正确的账号密码信息,但token未更改,可验证是否存在token可重复使用漏洞

    分析:Location:地址改变为index.php,响应大小相同,同样为316bytes
    警醒:上篇分析的时候只看响应字节相同与有token信息,以为爆破失败,但通过这次修改,查看响应信息来看,上次的分析出现了错误,未注意到细节,后台未验证token正确性导致重复使用,可进行爆破攻击,因正确的响应信息与错误响应信息的字节相同,导致上次分析出现疲劳,原因:未点击查看对比,login与index字节相等
  • 再次修改请求信息,对比响应信息,进行分析
    将admin-user,其它信息不修改,这样有了错误的登录请求,查看响应信息Location是否变为login.php

    分析:验证成功Location变为login.php,证明未验证token参数是否正确,可进行爆破攻击,根据之前返回的响应信息,分析输入正确的账号密码返回的只是改变了跳转地址,那假如手动输入这个地址是否可以绕过登录页面呢,测试下
  • 修改url地址,测试是否可绕过登录页面
    注意:因为之前开启了数据拦截功能,测试的时候暂时用不到先关闭下,在进行修改测试

    分析:哈哈验证成功,登录窗口绕过了,可直接进入控制面板,登录页面形同虚设了
    细节:直接复制这个地址去另一个浏览器打开会进行验证跳转导致,测试失败,分析原因为该浏览器未进行过登录操作导致后台无记录验证失败,而测试的时候虽然未在浏览器进行正确登录,但在重复发包测试时提交了正确的账号密码信息,导致token可用,后台信任了这台设备,形成了一个认证,造成了一个认证缺陷,导致修改连接后,验证通过,不在跳转。
    不知道算不算是漏洞呢?毕竟登录页面不属于漏洞测试范围,闲聊到此结束,开始继续学习
  • 进入控制台,调节测试等级
  • 点击进入Brute Force模块进行暴力破解测试学习
    输入账号密码,点击登录开始抓包分析

    发送到Repeater模块进行分析

    分析:响应信息包含了token信息,可进行捕获进行爆破攻击了
  • 在次测试验证返回的响应token信息是否为接下来请求的token信息
    使用Do intercept-Response to this request,来捕获请求的响应信息

    验证成功,是使用了响应信息中的token信息
    为更明显的体现差异性,修改token信息为中文

    但发现修改时输入中文显示乱码,这就需要修改Burp字体来解决这一问题了
  • 重新捕获并将请求发送到将这个包发送到intruder模块,并将要爆破的参数设置为攻击变量,并将attack type修改Pichfork
  • 参数设置
    username与password使用字典攻击,进行如下设置

    user_token因需使用上一个请求的token信息故需在Grep-extract进行添加

    注意:点击是否勾选Extract from regex group生成的正则表达式显示不同

    测试的时候先选择不勾选Extract from regex group进行测试
    注意:因token值是存储在body的hidden部分,需在Redirections勾选On-sit only以打开html包的body部分(同样在Options选项)
    <input type='hidden' name='user_token' value='42de89bf21efacb9b44a051e858d2aa6' />
    
  • 返回进行user_token参数设置
    Payload type选择Recursive grep
  • 点击Start attack进行测试,出现错误

    原因:递归grep有效负载不能与多个请求线程一起使用需修改为1

    为了更好的体现效果就又多添加了字典进行测试

    分析:
    第一条响应信息长度为4681原因为token信息已使用的响应信息(因第一条的token信息为填写的token信息之前测试的时候又发送多次导致token信息已改变,但未修改填写的token信息,故虽然账号密码正确,但token信息错误,导致出现此响应信息)

    但可以看到第二条攻击已使用第一条返回的token信息

    第二、三条响应信息长度为4805,虽然token信息正确,但账号密码错误

    第四条响应信息长度为4711,账号、密码、token信息正确,查看响应,看到了爆破成功的结果

Burp使用手册_接触到此告一段落

今天复现了之前所学的知识,并完善了一些不足与出现问题的解决办法,以及分析出现问题的原因、学习使用Burp拦截请求信息、Repeater等功能还发现了DVWA小缺陷、解决了简体中文显示乱码问题。通过以上实例总结出测试要注重细节,要敢于尝试。

未完待续

期待下次相见


《0day安全 软件漏洞分析技术(第二版)》第三次再版印刷预售开始!

最后于 2020-9-15 00:27 被梦幻的彼岸编辑 ,原因:
收藏
点赞2
打赏
分享
最新回复 (1)
雪    币: 537
活跃值: 活跃值 (1570)
能力值: (RANK:350 )
在线值:
发帖
回帖
粉丝
kanxue 活跃值 8 2020-9-15 18:05
2
0
感谢分享!
游客
登录 | 注册 方可回帖
返回