持续创作,加速成长!这是我参与「掘金日新计划 · 10 月更文挑战」的第21天,点击查看活动详情
前言
本次示例环境
- Burp Suite 2022.8.4
- Google Chrome浏览器
一、概述
Burp Proxy 是Burp Suite以用户驱动测试流程功能的核心,通过代理模式,可以让我们拦截、查看、修改所有在客户端和服务端之间传输的数据。
Burp Proxy 主要拦截http和https协议的流量,通过拦截,Burp Suite以中间人的方式,可以对客户端请求数据、服务端返回做各种处理,以达到安全评估测试的目的。
二、工作原理
- 不使用代理
通常浏览器直接通过80端口向服务器发送请求,然后服务器收到请求后,将请求结果返回给客户端。
- 通过代理访问服务器
使用代理访问,相当于浏览器在中间找一个委托人,通过将自己的请求转交给委托人来对服务器进行访问。
不难得出以下结论:
- 委托人(代理)可以对浏览器的请求和服务器的响应内容进行篡改
- 代理可以同时设置多个
问题思考?
浏览器通过代理访问服务器,服务器能否知道是哪个浏览器访问的呢?如果可以,那么如何才能隐藏自己的真实访问路径呢?
三、BurpSuite代理本地Google Chrome
3.1 Google Chrome设置
(1)点击浏览器右上方三个点,然后点击【设置】按钮
(2)选择【系统】选项,右侧选择【打开您计算机的代理设置】
(3)打开代理服务器,输入地址和代理端口,最后进行保存
3.2 BurpSuite代理设置
(1)设置代理监听器
- 选择代理-->选项-->在代理监听器中默认监听本地的8080端口
上方设置默认即可,也可以根据自己需求进行修改。
(2)仪表盘抓取代理任务设置
- BurpSuite默认会创建好两个代理任务,一个实时被动爬取任务,一个实时审计任务
上方设置默认即可,也可以根据自己需求,关闭上方两个任务后自行创建或修改。
(3)开启代理拦截
- 代理选项 -->拦截 --> 点击【拦截已关闭】,将打开拦截
(4)浏览器访问BurpSuite官网
- 打开浏览器访问如下地址:portswigger.net/
- BurpSuite拦截到如下信息
此时,请求将不在向下进行,可以在此处修改拦截到的请求信息,或者点击【放行】按钮使其发送给服务器;
如果点击【丢弃】按钮,则该包会被拦截掉,不再向服务端进行发送;
想要拦截网站中的特定功能,可以先选择【拦截已关闭】,当需要进行拦截时打开即可。访问请求都会在HTTP历史记录中进行记录。
四、BurpSuite代理自身浏览器
目前,BurpSuite自身带有浏览器,只需要点击【打开自带浏览器】,不需要对浏览器进行设置,即可对打开的浏览器请求进行拦截