在Web安全中经常需要对HTTP请求和响应的数据进行拦截,从而来对这些数据做进一步的分析或处理,这就要用到一个非常重要的工具Burpsuite。
Burpsuite可谓Web安全的神器,要学习Web安全,就必须要精通Burpsuite。
BurpSuite是一个Web安全综合平台,功能非常强大,当然用法也比较复杂,所以我们对这个工具的学习也是本着够用为主的原则,随着课程的进展,逐步地去学习掌握这个工具的各种用法。
Burpsuite是一款商业软件,官网https://portswigger.net/burp,官网提供了免费的community社区版,社区版虽然只提供了最基本的功能,但也足够满足我们初学者的需求了。在Kali中也是内置了社区版Burpsuite。
由于Burpsuite对于Web安全属于必备工具,因而还是强烈建议在真机中也安装Burpsuite,这样使用时会更加方便。当然在真机中推荐安装商业pojie版,这个操作有一些难度,留待以后再介绍,我们这里就先使用Kali中自带的社区版本。
BurpSuite最主要的功能是可以将客户端与服务器之间传输的HTTP数据进行拦截,然后对数据进行修改并再次发送,其工作原理如下图所示。
Burpsuite就相当于在客户端与服务器之间插入了一个第三者,客户端与服务器之间传输的所有数据都需要经过Burpsuite转发。
对于客户端来讲,Burpsuite就相当于是一个代理,由它来代替客户端向服务器发送和接收数据。因而要使用Burpsuite,第一步就是要在浏览器中设置代理服务器,只有正确设置了代理服务器,Burpsuite才能拦截客户端与服务器之间的数据。
在Burpsuite的“Proxy/Options/Proxy Listeners”中,可以设置Burpsuite的监听IP地址和端口号,默认是127.0.0.1:8080,也就是在本地的8080端口上进行监听,这个值一般无需改动。
在Firefox浏览器的“选项/网络设置”中选择手工代理配置,然后指定“HTTP代理”为127.0.0.1,“端口”为8080,这样就将Burpsuite设置为了Firefox的代理服务器,以后由Firefox浏览器发到网络上的数据都必须要经过Burpsuite中转。
比如在Firefox浏览器中访问百度,此时由浏览器发出的HTTP请求数据包就会被Burpsuite拦截,并显示在Proxy模块中。
- Forward表示将数据包直接转发出去。
- Drop表示将数据包丢弃,不向外转发。
- “Intercept is on”表示开启了拦截功能,点击按钮,将之设置为“Intercept is off”则表示关闭了拦截功能。
在Proxy模块中拦截的数据通常都会被发送给其它模块做进一步处理,其中最常用的是发送到Repeater模块。
在Repeater模块的左侧窗口中可以对拦截的HTTP请求数据进行修改,然后再发送出去,在右侧窗口中将显示接收的响应数据。
新版Burpsuite中内置了一个浏览器,这样就无需再对火狐浏览器设置代理了。如果是使用的最新版本的Burpsuite,那么推荐直接使用内置浏览器。
关于Burpsuite的基本功能我们先了解这么多,下面我们将结合Burpsuite来分析HTTP请求和响应的数据包结构。
标签:Web,浏览器,Burpsuite,HTTP,拦截,客户端 From: https://blog.51cto.com/yttitan/6019038