这篇长期更,陆续记录我新学习的 burp 小技巧
一、爆破特殊密码
这里以 tomcat 为例,Authorization 字段是做身份认证的,解码即可获取用户认证信息明文
burp 的 Intruder 模块可以实现很多复杂密码的爆破,知道了密码格式之后,Intruder->Payloads->Payload Sets->Payload type->选择Custom iterator
根据 tomcat 密码的格式进行拼接,第一位(Position1)密码:
第二位(Position2)密码:
第三位(Position3)密码:
拼接完成后,还需要 base64 编码,Payload Processing->Add->Select rule type->选择Encode
因为爆破的时候会将字符 url 编码,所以需要将 Payload Encoding 的对勾取消
设置完 Start attack 开始爆破即可
二、数据包转换成requests代码
安装插件 burp-requests.jar,下载地址 https://github.com/silentsignal/burp-requests/releases/
Extender->Extensions->Add->Extension file(.jar) 添加 burp-requests.jar
抓包->右键->Copy as requests,就将请求的数据包转换成代码、复制到剪切板了
import requests burp0_url = "https://www.baidu.com:443/index.php?tn=monline_3_dg" burp0_cookies = {"BAIDUID": "2BE519ED8989A2BACC34649E59160B76:FG=1", "BIDUPSID": "2BE519ED8989A2BA723C34EE6C0895FD", "PSTM": "1596072183", "__yjs_duid": "1_e1b95952e6f864d26dc5edc5cc72d2871621214902763", "BD_UPN": "13314752", "H_PS_PSSID": "34304_33801_34277_33848_34073_34092_26350_34288", "H_PS_645EC": "ac78%2BDCu3pP2DzJR%2BTs%2Bj7skR16JjUgmxyNHJug0%2Bm4Uo9w6aYYmw0glezC2uNNpkgmS", "BDRCVFR[Fc9oatPmwxn]": "aeXf-1x8UdYcs", "BD_HOME": "1", "BA_HECTOR": "802k0k05258k810hj11gfmsdm0r"} burp0_headers = {"User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:78.0) Gecko/20100101 Firefox/78.0", "Accept": "text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8", "Accept-Language": "zh-CN,zh;q=0.8,zh-TW;q=0.7,zh-HK;q=0.5,en-US;q=0.3,en;q=0.2", "Connection": "close", "Upgrade-Insecure-Requests": "1", "Cache-Control": "max-age=0"} requests.get(burp0_url, headers=burp0_headers, cookies=burp0_cookies)
三、修改响应码
这个是最近学到的一个挖洞方法,将 401 响应码改为 200,再抓包放包就可以用来挖未授权访问的洞,Proxy->Options->Match and Replace->Add
四、正则匹配筛选页面结果
爆破的时候用来筛选关键词 Intruder->Options->Grep-Extract->Add
六、拦截和编辑请求和响应
这里主要是区分 Do Intercept 和 Repeater 的区别
- Repeater 用于手动操作和重新发出单个 HTTP 请求以及分析应用程序的响应,不能在 Repeater 中更改 HTTP 响应。
- Proxy 中 Intercept 选择 Action -> Do Intercept -> Response to this request。这将在响应发送到浏览器之前拦截响应,允许更改并观察输出。
七 、检测CORS
Proxy->Options->Match and Replace,勾选 Request header 将空替换为 Origin:foo.example.org 的选项,burp 会加个 Origin 的请求头,漏洞的挖掘原理方面,这篇博客讲的很详细 https://threezh1.com/2020/02/19/CORS%E5%8E%9F%E7%90%86%E5%8F%8A%E5%88%A9%E7%94%A8%E6%95%B4%E7%90%86/
八、抓包AMF数据
AMF(Action Message Format)是 Flash 与服务端通信的一种二进制编码模式,其传输效率高,可以在 HTTP 层面上传输
burp 安装插件,下载地址 https://github.com/khai-tran/BurpAMFDser
勾选 Proxy->HTTP history->Filter->Other binary
抓包可以看到(这个是盗网上师傅的图,参考链接放在最后了)原始数据是二进制格式,burp 插件可以反序列化并编码为 xml 格式
如果需要爆破,在 HTTP history 处右键目标->Send Deserialized AMD to Intruder,否则直接发送到 Intruder 还是乱码的(这个也是盗的图)
参考文章:
https://www.cnblogs.com/lighting--/p/11382088.html
https://www.cnblogs.com/Cl0ud/p/13616665.html
https://forum.portswigger.net/thread/repeater-reponse-manipulation-fc2cc763
https://blog.csdn.net/q1352483315/article/details/97619794