Burp进阶教程

极客

Burp进阶教程:从菜鸟到高手的实战逆袭,这些骚操作你get了吗?

哎,兄弟们,我来了!今天咱们不聊那些网上烂大街的Burp基础用法——什么抓包改包啊,那都是入门级的小把戏了,说实话,我刚开始学Burp的时候也觉得,嗐,这不就是个抓包工具嘛,能有多大能耐?结果呢,脸都被打肿了……越深入越发现,这玩意儿简直是个宝藏男孩啊!来来来,今天我就把这些年摸爬滚打总结出来的Burp进阶骚操作,一股脑全倒给你们听,保证让你看完直呼“卧槽,原来还能这么玩”!

Burp进阶教程

先别急着装X,你的Burp配置真的对了吗?

哎呀,说到这个我就来气!好多小伙伴上来就问我“为啥我的Burp那么卡”、“为啥插件装不上”,兄弟啊,你那个Burp怕不是还在用默认配置裸奔吧?我跟你讲,进阶第一步,必须把Burp的JVM内存给拉满!默认那点内存连个大型目标站点都扫不动,卡得你怀疑人生。

怎么改?找到Burp的启动脚本(Windows是burpsuite.vmoptions,Mac/Linux是burpsuite.vmoptions同理),把-Xmx-Xms调大,我一般直接上4G,土豪朋友可以直接8G,反正内存不用白不用!改完之后重启Burp,那流畅度,简直像换了台新电脑一样,丝滑得不要不要的。

还有啊,代理设置一定要配好!别傻乎乎地只配HTTP代理,HTTPS的证书该装也得装啊!特别是用Chrome浏览器的时候,记得在拓展程序里装个SwitchyOmega,配合Burp的8080端口,那叫一个舒服!不然你连HTTPS的包都解不开,谈什么进阶?

重头戏来了:Burp最容易被低估的三大神技

Intruder不仅仅是爆破工具,更是数据包整形大师

好多人觉得Intruder就是用来跑密码爆破的,呵呵,那你可太小看它了!我告诉你们,Intruder最大的魅力在于它的“宏”功能

啥意思?就是说你可以提前录制一段操作序列,比如先登录、再获取token、再访问某个页面,这一连串的动作可以自动化,想象一下这个场景:你要测试一个需要管理员权限的接口,但你手头只有普通用户账号,这时候怎么办?用宏啊!让Burp先自动用管理员账号登录拿到cookie,然后再用这个cookie去请求那个接口,整个过程全自动,简直顶呱呱!

Intruder的Resource Pool(资源池) 也是神器,默认情况下所有攻击线程都在同一个池子里,互相影响,但你完全可以给每个任务分配独立的资源池,控制并发数量,这样既能提高效率,又不至于把目标服务器给打崩了,做正经渗透测试,这个细节能让你在客户面前倍儿有面子!

Repeater批量发送?不不不,我教你玩高级的

Repeater大家都用过吧?但你们知道吗,Repeater可以配合Burp的“Response Processing”规则,实现自动提取响应中的关键信息。

举个例子吧,上次我测试一个API接口,返回的JSON里面有个refresh_token字段,每个请求都会变化,如果手动去复制粘贴,那不得累死?我就在Repeater的“Response Processing”里加了条规则:Extract from regex: "refresh_token":"([^"]+)",保存到变量里,然后下一个请求直接用§变量名§引用它,哇,那感觉,简直像开了挂一样!你们感受一下,这就是进阶的快乐啊!

那些冷门但好用到哭的右上角菜单

你们看Burp右上角那三个小横线——就是那个“Burp”菜单——点进去里面有个“Project options”,再点“Sessions”,这里绝对是个被99%的人忽略的宝藏地!

你可以设置会话处理规则,如果响应返回401,自动重新登录”,或者“如果请求体包含timestamp,自动替换成当前时间”,这功能在做那些有过期机制的接口测试时,简直是救命稻草!我上次测一个金融类的App,那token有效期只有60秒,全程手动的话根本来不及,就是靠这个功能硬生生把整个测试跑完了,事后我都想给自己鼓个掌,太不容易了哇!

插件生态:不装插件的Burp没灵魂啊!

说到进阶,插件绝对是绕不开的一环,我真心觉得Burp的插件生态比工具本身还要精彩!

  • Logger++:日志记录插件,当你需要回溯整个测试流程的时候,这玩意儿能让你清清楚楚看到每一个请求的来龙去脉,对比默认的HTTP history,Logger++可以同时对比多个请求的时间线和参数变化,分析漏洞成因简直不要太顺手。

  • Turbo Intruder:如果你觉得默认Intruder还不够快,那Turbo Intruder绝对是暴力美学的最佳代表,它支持Python脚本控制请求速度,可以毫秒级地发送数据包,不过友情提示,这玩意儿威力太猛,千万别拿来瞎搞,容易把服务器搞宕机,到时候真的吃不了兜着走!

  • Autorize:这个插件强力推荐!专门用来检测越权漏洞,你只要配置一个高权限账号的Cookie,然后它就会自动用低权限账号的Cookie去重复请求,对比响应结果,以前靠人工判断越权能累半死,现在一键全自动,效率直接飞起。

哦对了,还有Upload Scanner,专门针对文件上传点做检测;HTML5 Auditor,用来分析HTML5安全特性的……哎,反正插件装得好,下班回家早!这句话真不是白说的。

实战复盘:一次真实的Burp进阶应用场景

光说不练那是耍流氓!现在给你们复盘一次我最近做的一次渗透测试吧。

那是一个在线教育平台,客户说他们有越权漏洞,但我测了半天没找到突破口,后来我突然灵机一动,想到用Burp的Compare功能——把所有请求的响应全保存下来,然后统一对比。

具体操作是这样的:用Burp的“Compare site maps”功能,把登录前后的站点地图分别导出,然后做对比,一对比就发现了,原来有个/api/v1/user/info接口,在未登录状态下竟然返回了其他用户的信息!这就是典型的访问控制缺失。

我通过Burp的Content Discovery功能,用内置的字典扫了一下这个目录,嘿,还真发现了一个/api/v1/admin/目录,用Intruder配合自定义字典爆破了一下参数名,最终在/api/v1/admin/exportAllData参数里发现了SQL注入漏洞,整个过程环环相扣,每一步用到的工具都是Burp自带的,但关键在于你得知道怎么串联起来!

进阶路上千万别踩的坑

我必须得提几个我血泪教训换来的坑:

第一,别忽略Burp的更新。 新版本有更强的扫描engine和更多内置payload,老版本有些东西真的就用不了,我就吃过这个亏,用旧版本的Burp去测试一个站点,结果新出的Swagger接口扫描功能根本用不了,白白浪费了半天功夫。

第二,代理层级配置要谨慎。 如果你还需要通过Nginx或Apache做一层反向代理转发,Burp默认只会处理直接代理的流量,你需要在Project Options > Connections里设置上层代理,这地方不小心配置错,轻则全部超时,重则直接导致目标服务器IP被封禁,到时候哭都来不及。

第三,千万别忘了保存项目文件! Burp的所有状态(包括抓到的包、Repeater的内容、Intruder的配置)都可以通过File > Project file保存到磁盘上,我见过太多新手一关软件,所有抓包数据全没了,那一瞬间心碎的声音,我隔着屏幕都能听见!

最后的最后,一些掏心窝子的话

说实话,Burp这套工具,用得好就是神兵利器,用不好就是个普通抓包软件,差别完全在于你对它的理解和熟练度,我一直觉得,工具都是死的,真正牛的是你脑子里的思路,举一反三,多动手多尝试,这才是从菜鸟到高手的必经之路。

好啦,今天这篇Burp进阶教程就唠叨到这里啦,说实话写着写着我还挺兴奋的,毕竟这些可都是自己踩过坑、摸过石头过河总结出来的经验,希望能真的帮到你们,如果你们有什么更好玩的Burp技巧,欢迎评论区来跟我聊!咱们互相学习、共同进步嘛,对吧?

总而言之:Burp进阶的核心,就是把它的每个模块都玩透,用自动化替代手工,用逻辑代替傻瓜式操作,只要你肯花时间钻研,它绝对能成为你渗透测试中最得力的助手!加油吧,未来的安全大师们!🚀

文章版权声明:除非注明,否则均为极客网安-咸鱼原创文章,转载或复制请以超链接形式并注明出处。

目录[+]