BurpSuite在Web渗透中的实战技巧

16 人参与

朋友们,今天咱们不聊那些大道理,就来唠唠我手里这把“瑞士军刀”——BurpSuite。说真的,干我们这行的,谁电脑里没装个Burp呢?但说实话,早年我刚用它的时候,也就知道个拦截改包,感觉跟个高级点的Fiddler似的。直到后来在实战里被现实毒打了几次,才真正摸到点门道,发现它那些藏在角落里的技巧,才是真能救命的玩意儿。

你以为的“重放”,和真正的“重放攻击”

我最开始用Repeater模块,就觉得是改个参数重发一下,看看返回。太天真了。有一次碰上一个登录接口,试了常见的SQL注入、弱口令都没戏。我百无聊赖地在Repeater里把同一个正确密码的请求连着发了五六次。你猜怎么着?第五次的时候,服务器居然返回了“密码错误次数过多,请一小时后重试”。我一下就精神了!这说明服务端是有登录失败计数器的,但它的校验逻辑可能在前端或者有延迟。

我立刻换了个思路,用Intruder模块,把“重放”这件事自动化、规模化。设置好Payload,用Pitchfork攻击模式,一个Payload位置放正确的用户名,另一个位置放我准备的密码字典,然后设置一个超长的线程间隔,比如30秒发一次。就这么慢悠悠地“磨”了一下午,愣是没触发那个锁账号的机制,最后还真撞出了一个弱密码。那次之后我才明白,Burp的重放功能,配合不同的节奏和策略,本身就是一种温和却有效的暴力破解。

“Comparer”不止于比较

Comparer这个工具,我估计很多人点开的次数屈指可数。不就是比对比对两个响应包哪里不一样嘛?有一次审计一个查询功能,参数里有个`type`,传1返回一种数据,传2返回另一种。我用Comparer把两个响应包丢进去,单词对比模式下一眼就看到,除了数据内容不同,返回头里还有一个不起眼的`X-Total-Count`字段,值也不一样。

这个发现让我觉得有戏。我马上回到Repeater,把`type`参数改成`1'`,果然报错了,经典的SQL报错信息。你看,Comparer在这里帮我快速定位了“正常响应”的基准特征,一旦出现偏差(比如多了个报错信息),我就能立刻警觉。它像个放大镜,帮我看到了那些肉眼扫过去绝对会忽略的细微差别。

“拦截”的艺术:时机与修改

说到Proxy拦截,新手最爱干的就是打开拦截,然后一刷新页面,手忙脚乱地放行几十个静态资源请求,好不容易等到一个POST包,赶紧改。累不累啊?我现在的习惯是,先关闭拦截,正常浏览一遍目标,看看有哪些关键请求(比如登录、搜索、下单)。然后在Proxy的历史记录里,找到这些关键请求,右键“Send to Intruder”或者“Send to Repeater”。

更高级一点,我会用代理作用域(Target Scope)拦截规则(Intercept Client/Server Requests)。比如,我只关心`*.target.com/api/*`的请求,那我就在作用域里设置好,然后开启“拦截范围内的请求”。这样一来,Burp就变成了一个智能过滤器,只拦住我真正想看的业务请求,那些图片、CSS、JS统统自动放行,效率提升了不止一个档次。

还有个小技巧,修改数据包时,别光盯着参数。Cookie、Referer、Origin头,甚至是一些自定义的头部,都可能藏着鉴权逻辑或者存在注入点。我遇到过最奇葩的一个漏洞,是藏在`X-Forwarded-For`这个头里的SQL注入,常规测试根本想不到那里去。

那些插件,真不是摆设

Burp的Extender模块,简直是另一个宇宙。官方的商城(BApp Store)里就有不少宝贝。像AuthMatrix,测越权的时候简直神器,不用再手工切账号改Cookie了。还有Turbo Intruder,当你想用丧心病狂的速度发请求时(比如撞验证码),它比自带的Intruder猛得多。

不过我最想推荐的,是一个叫“Collaborator Everywhere”的官方插件。这东西能自动给你经过Burp的流量里的所有外链、请求地址后面加上一个Burp Collaborator的盲注域名。有时候测SSRF或者盲注,你根本不知道服务器会不会真的发起外部请求。装上这个插件,你就等着收Collaborator的回连通知吧,那种“守株待兔”然后突然听到“叮”一声提示音的感觉,实在太美妙了。

工具嘛,用熟了就有感情。BurpSuite对我来说,早就不是冷冰冰的软件,更像是一个懂我心思的老伙计。我知道它的脾气,也知道怎么让它发挥出最大的能耐。下次再打开它的时候,不妨多点几下那些平时不用的按钮,或许你也能发现属于自己的“实战技巧”。

参与讨论

16 条评论
  • 老街故事

    要是账号锁定机制更严还能这么磨吗?

    回复
  • 寒冰魔导

    之前搞过登录爆破,线程一多直接封IP,心态崩了😭

    回复
  • 机智狐

    Comparer还能这么用?我天天点开就关了😂

    回复
  • 冷血战士

    X-Forwarded-For也能注入?太离谱了吧

    回复
  • 细雨流光

    感觉还行,但Intruder跑字典还是卡

    回复
  • 河西商客

    那个`X-Total-Count`字段差点头也没注意到,细节杀

    回复
  • 时光诗人

    Collaborator Everywhere守株待兔是真的爽,试过一次就忘不掉

    回复
  • RuneSomnium

    Proxy拦截规则设好了之后简直省心太多

    回复
  • 蜜桃小云

    求问Turbo Intruder在M1上能跑顺滑吗?

    回复
  • 风语咒

    这插件宇宙比我想象中深多了,AuthMatrix有教程吗?

    回复
  • 快乐小番茄

    Burp用熟了确实像老伙计,换个工具浑身不自在

    回复
  • 满足的果实

    这玩意儿真得靠实战摸出来,光看书根本不会用

    回复
  • 永夜君主

    那个 Collaborator Everywhere 插件听着好酷

    回复
  • Misty Meadow

    登录失败计数器那个例子,让我想起自己踩过的坑。

    回复
    1. 傲雪孤狼

      @ Misty Meadow 我也是,以前没注意这个

      回复
  • 雾影咒

    原来作用域设置能省这么多事啊

    回复