Burp Suite Proxy模块
Proxy 基础
Burp Suite
中的 Proxy
模块是其中一个最常用和最强大的模块之一。它允许用户拦截、查看和修改 Web 应用程序的 HTTP 和 HTTPS 流量,使用户能够识别和利用各种不同类型的漏洞。Proxy 模块又分为四部分,分别是 Intercept (拦截),HTTP history,WebSockets history,Option (选项)。
界面介绍
Intercept
Intercept
是 Proxy
模块的核心功能之一,它允许用户拦截应用程序的 HTTP
和 HTTPS
请求,查看和修改请求,然后转发到目标服务器。使用 Intercept,用户可以深入分析应用程序的请求和响应,并查找潜在的漏洞。Intercept 还可以帮助用户快速验证漏洞的利用。
首先我们要进行成功抓包,必须要将浏览器的流量包转移到 burpsuit 上,burpsuit 在进行发包。
- Burpsuit 默认监听本地 8080 端口,我们只需要把浏览器的流量转发到 8080 端口,Burpsuit 即可收到,进行相应的操作。
- 我们一般在浏览器上安装
Proxy SwitchyOmega
,进行快速代理,不要慢慢去打开浏览器的设置去配置。
 |
- 用
Open Browser
打开一个网站
使用 Buprsuit
进行抓包:如下
Inspector: http 请求被拦截下时,右边有个 Inspector
的区域。一共有 Request Attributes
, Request Query Parameters
, Request Body Parameters
, Request Cookies
, Request Headers
五个部分,可以展开查看每个部分的内容,也可以手动更改内容值。例如 Request Attributes 中可以选择使用 HTTP/1 或 HTTP/2 协议,或者更改 HTTP Method 等。其他部分也可以直接对参数值进行修改,修改后直接 Apply changes,应用成功后的修改会变成橙色的,然后点击 Forward 观察页面变化。
 |
Http history
WebSockets history
Options
Proxy listeners 代理监听
拦截的代理设置,proxy 就是拦截当前设置的 IP 与 port
Windows 安装证书
如果没有安装 CA 证书就拦截 https 协议的网址,就会出现下面的情况:
 |
- Chrome 浏览器,请先安装插件
Proxy SwitchyOmega
并设置好代理
 |
- 选择
BurpSuite
代理,然后访问 http://burp 下载证书
 |
和在 Proxy Settings
导出的证书是一样的:
 |
- 双击
cacert.der
,然后安装证书;选择本地计算机,然后将证书存储在受信任的证书颁发机构
- 在浏览器的证书管理器中确认是否安装到位,就可以愉快的进行测试了。
- 如果未生效,重启浏览器
Mac OS 安装证书
- 设置好 Burp 代理并开启代理。
- 访问 http://burp/cert 下载证书。
- 双击导入钥匙串访问,或者打开钥匙串导入项目。
- 找到导入的证书,然后开启始终信任。
 |
Android 安装证书
iPhone 安装证书
- 在 iphone 上访问 http://x.x.x.x:8080 点击右上角的 CA Certificate 并允许
- 打开设置 — 通用 — 描述文件与设备管理 — 安装描述文件
- 打开设置 — 通用 — 关于本机 — 信任证书设置 (拉倒最底下)— 开启信任
Request interception rules 请求拦截规则
添加请求拦截规则设置:可以设置不拦截某些条件,例如不拦截请求地址后缀为 jpg
等,proxy
会自动放行此数据包
设置:只拦截 post 请求
Response interception rules 响应拦截规则
如果需要拦截 response 并修改 response 中的返回值怎么做?
- 第一步仍然是进入 Proxy-Options-Intercept Server Response 设置 response 拦截的选项:
- 勾选
Intercept response based on the following rules
- 添加了一条 rule:当 request 被拦截的时候,也拦截 response
- 然后效果如下,你可以修改 request/response 中的值并 Forward
- 拦截 request
- 拦截 response
WebSockets interception rules
针对 WebSocket 的,用的不是太多。
Response modification rules
用的不是太多。
HTTP match and replace rules
自动将请求包的指定内容替换成某些内容
Proxy 模块的其他内容不常用,不做介绍。
Proxy 实战
拦截并修改 request 和 response
- Proxy Settings 配置拦截规则
- 拦截成功后如下,你可以在 Intercept 选项卡页直接编辑请求的参数/headers 等等然后再转发(Forward)报文
修改 request method,GET 为 POST
- 首先进入
Proxy Settings
→ Request interception rules 设置 request 拦截的规则:
- 如果不勾选
Intercept requests based on the following rules
,无法拦截到任何 http request - 可以添加多条规则,规则之间可以是
与/或
的关系,添加并勾选规则后,只有满足这些规则组合的 http request 才会被拦截 - 拦截成功后如下,你可以在 Intercept 选项卡页直接编辑请求的参数/headers 等等然后再转发(Forward)报文
- 在
Open Browser
打开 https://www.baidu.com - 点击
Action
→Change request method
- 会自动将 GET 修改成 POST