目录
前言
本篇文章会教你怎么用 Burp Proxy 拦截 HTTP 请求,为方便学习, burpsuite 官网还特意设计了有漏洞的在线网站供大家训练。
拦截抓包
burpsuite 抓包的原理是通过 Burp Proxy 代理浏览器和目标服务器之间发送的 HTTP 请求和响应。
这样就能方便观察和研究用不同方式请求时服务器的响应。原理示意图如下:
启动 burp 内置浏览器
有经验的同学肯定知道用老版本 burpsuite 抓包还需要设置本地的浏览器代理, HTTPS 抓包还要导入证书,但新版本的 burpsuite 自带浏览器,不需要用户配置就能直接访问页面抓包,所以这里我们就省去那些繁琐步骤,直接用 burp 的内置浏览器更香。
首先,转到 Proxy > Intercept 选项卡
单击按钮 Intercept is off,切换到 Intercept is on 状态,点击 Open Browser,打开内置浏览器
启动 Burp 的内置浏览器后,把浏览器窗口放在一个合适的位置,方便后续同时观察 Burp 和 浏览器的内容变化
拦截请求
在内置浏览器里访问 Web Application Security, Testing, & Scanning - PortSwigger ,会发现该站点无法加载,右侧浏览器页面标签上一直在转圈。
这是浏览器发出请求后等待服务端响应的状态。
实际情况是 Burp Proxy 把浏览器请求服务器的 HTTP 报文给拦截了。
在 Proxy > Intercept 选项卡上就能看到被截获的请求报文,这就是我们要抓的请求包。
有了请求包,我们就可以在将其转发到目标服务器之前研究它,甚至修改它。
转发请求
多次单击 Forward 按钮来转发被截获的请求和任何后续请求,直到页面在 Burp 的浏览器中都加载完。
关闭拦截
访问网站时浏览器通常会发送很多请求,但大部分不一定是我们想要拦截抓包的。
这时候可以点击 Intercept is on,切换成 Intercept is off。
然后再去内置浏览器里点击页面按钮,就会发现 Burp Proxy 不再拦截请求,页面也不会卡,能正常访问了。
查看 HTTP 抓包记录
切换到 burpsuite 的 Proxy > HTTP History 选项卡。
在选项卡里可以看到经过 Burp Proxy 代理的所有 HTTP 流量的历史记录,即使在关闭拦截的情况下也能捕捉到。
单击历史记录中的任意一条,然后在选项卡下面查看原始的 HTTP 请求和对应的服务器响应
通过 burpsuite 的抓包功能,我们既可以有针对性地拦截捕捉某些网络请求的流量,
也能先正常访问网站,然后再去历史记录里面查看客户端和服务器之间的通讯过程和内容,非常灵活方便。