游客发表
打开Burp Suite,描漏点开Proxy模块,描漏把拦截关掉,描漏让浏览器流量正常走一遍目标站点。描漏这一步没什么技术含量,描漏但很多人漏掉了——不先把整个站点的描漏功能点跑一遍,后面Scanner模块跑出来的描漏结果会少得可怜。我见过有人直接对着登录页右键"Scan",描漏然后抱怨扫不出东西。描漏Burp的描漏扫描能力依赖于它见过的请求,你没喂给它足够的描漏样本,它就只能瞎猜。描漏
右键请求,描漏选择"Scan",描漏弹出的描漏窗口里勾选审计项。Burp Scanner分两类检查:主动扫描和被动扫描。被动扫描不发送新请求,只分析已有流量,适合先跑一轮看看有没有明显的配置问题,比如缺失的安全头、Cookie属性没设HttpOnly。主动扫描会构造payload去探测,SQL注入、XSS、命令注入这些都在这个范畴。实际用的时候,我习惯先被动跑一遍,确认没有低级错误,再对关键接口做主动扫描。
扫描速度是个需要拿捏的东西。Burp默认的并发请求数不高,扫一个大站可能要等很久。调高并发确实能加快,但目标站如果有WAF或者限流机制,请求发太快会被封IP,甚至触发告警。有一次我对一个客户的内网系统做扫描,并发调到20,结果对方运维直接打电话过来问是不是被攻击了。后来改成5,慢慢跑,虽然花了一下午,但至少没引起不必要的麻烦。
Scanner的报告里,漏洞分High、Medium、Low、Information四档。High级别的通常值得立刻确认,比如SQL注入、远程代码执行。但别迷信等级——有些Medium的CSRF如果出现在关键操作上,危害不比High小。反过来,有些High级别的"漏洞"可能是误报,比如Burp把某个参数当成可能存在OS命令注入,实际只是返回内容里包含了类似命令输出的字符串。点开每个issue,看Request和Response的原始内容,自己判断。
误报这件事值得多说两句。Burp的扫描逻辑基于模式匹配和启发式规则,它不知道你的业务逻辑。一个搜索框返回了用户输入的内容,Burp可能报XSS,但如果输出经过了HTML实体编码,那就不是漏洞。反过来,有些漏洞Burp扫不出来,比如逻辑越权——你改了URL里的用户ID就能看到别人的订单,这种需要人工测试。工具是辅助,不是替代。
我通常会把Scanner和Repeater配合用。Scanner报了一个疑似SQL注入的点,我右键发送到Repeater,手动构造几个payload验证。真存在注入的话,Repeater里能看到数据库报错或者布尔条件导致的响应差异。确认之后,再把请求发给Intruder做进一步利用或者批量测试。这套流程走下来,比单纯看Scanner报告靠谱得多。
还有一点:扫描之前确认你有授权。Burp Scanner会发送大量请求,在别人的生产环境上跑,轻则被封号,重则涉及法律问题。自己搭的靶场随便扫,客户的系统,拿不到书面授权就别碰。这不是技术问题,是底线问题。
友情链接