0x1 Logger++简介
Logger++ 是 nccgroup 开源的一个 burp 扩展,主要功能是记录经过 Burp Suite 的所有 HTTP 请求 和 HTTP 响应。
相较于 Burp 自带的 Proxy 组件中的 HTTP History, logger++ 的优势是记录了更完整的流量,并且支持对这些流量进行基于正则表达式的简易分析,对相关流量记录进行着色展示,将流量导入到 elasticsearch 平台等。Burp 基本组件 Proxy 中的 HTTP History 则只记录经过代理的 HTTP 流量,对于 Repeater, Scanner, Intruder 等组件的流量,并不会在它的标签中展示
0x2 功能说明
1、view logs
在过滤器空白处鼠标右键,会出现你要用匹配的位置:
下面是示例使用正则匹配ip地址的步骤:
步骤一中,正则要用//包含起来;
步骤二中查询响应包内容时候,正则不需用//包含;
2、grep values
用来查找特定的内容,显示请求/响应查找结果,可查询正则表达式(如下):
3、options
logger++的配置,可以设置开关、导出日志、设置读取流量等,不再一一阐述。
0x3 过滤规则汇总
内网IP:Response.Body == /(10(\.(25[0-5]|2[0-4][0-9]|1[0-9]{1,2}|[0-9]{1,2})){3}|((172\.(1[6-9]|2[0-9]|3[01]))|192\.168)(\.(25[0-5]|2[0-4][0-9]|1[0-9]{1,2}|[0-9]{1,2})){2})/
内网IP(不严格,没有 255 以下限制):Response.Body == /(?:192\.168|10\.[0-9]|172\.1[6789]\.|172\.2[0-9]\.|172\.3[01]\.)\.[0-9]{1,3}\.[0-9]{1,3}/
ip地址(包括外网):Response.Body == /((2(5[0-5]|[0-4]\d))|[0-1]?\d{1,2})(\.((2(5[0-5]|[0-4]\d))|[0-1]?\d{1,2})){3}/
手机号:Response.Body == /\b(1[3-9](\d{9}))\b/
身份证号:Response.Body == /((\d{6})(18|19|20)?(\d{2})([01]\d)([0123]\d)(\d{3})(\d|X))/
身份证号(过滤图片误报):Response.Body == /((\d{6})(18|19|20)?(\d{2})([01]\d)([0123]\d)(\d{3})(\d|X))/ AND Response.MimeType != "jpeg"
电子邮箱(匹配所有邮箱):Response.Body == /(([A-Za-z0-9_\-\.])+\@([A-Za-z0-9_\-\.])+\.([A-Za-z]{2,4}))/
电子邮箱(匹配特定邮箱):Response.Body == /(([A-Za-z0-9_\-\.])+\@example.com)/
电子邮箱(模糊匹配关键字邮箱):Response.Body == /(([A-Za-z0-9_\-\.])+\@(.*)example(.*))/
潜在的 CORS 配置不当:Response.Headers == /Access-Control-Allow-Origin: null/
Response.Headers == /Access-Control-Allow-Origin: \*/
寻找潜在的 SSRF / 开放重定向:Response.Headers == /(Location)/
Request.Query == /(url(.*)=)/ OR Request.Body == /(url(.*)=)/
Request.Query == /(uri(.*)=)/ OR Request.Body == /(uri(.*)=)/
Request.Query == /(path(.*)=)/ OR Request.Body == /(path(.*)=)/
Request.Query == /(href(.*)=)/ OR Request.Body == /(href(.*)=)/
Request.Query == /(redirect(.*)=)/ OR Request.Body == /(redirect(.*)=)/
寻找潜在的 JSONP 调用:Request.Query == /(callback(.*)=)/ OR Request.Body == /(callback(.*)=)/
寻找潜在的越权(id参数):Request.Query == /\b(id(.*)=)/ OR Request.Body == /\b(id(.*)=)/
点击劫持(Clickjacking):Response.Headers != /X-FRAME-OPTIONS/
Response.Headers != /Content-Security-Policy(.*)frame-ancestors/
寻找潜在的 XXE:Request.Headers == /Content-Type: application\/xml/
Request.Body == /<\?xml version=/
寻找特定编辑器:Response.Body == /ueditor/
其他敏感参数:Request.Query == /(sql(.*)=)/ OR Request.Body == /(sql(.*)=)/
Request.Query == /(exec(.*)=)/ OR Request.Body == /(exec(.*)=)/
Request.Query == /(script(.*)=)/ OR Request.Body == /(script(.*)=)/
Request.Query == /(src(.*)=)/ OR Request.Body == /(src(.*)=)/
0x4 总结
本文简要介绍了burpsuite信息收集插件logger的使用方法,同时提供了较为详细的过滤规则。
参考链接:
burpsuite常用插件推荐与使用
burp 日志插件从原理到实践
BurpSuiteLoggerPlusPlus Wiki
本文链接: http://dayun.shystartree.online/2020/06/18/burpsuite%E4%BF%A1%E6%81%AF%E6%94%B6%E9%9B%86%E6%8F%92%E4%BB%B6logger++%E4%BD%BF%E7%94%A8%E6%96%B9%E6%B3%95/
版权声明:本博客所有文章除特别声明外,均采用知识共享署名-非商业性使用-相同方式共享4.0国际许可协议许可协议。欢迎转载,但转载请注明来自qingyu’s blog,并保持转载后文章内容的完整,本人保留所有版权相关权利。