BurpSuite的Proxy模块主要用于拦截浏览器的HTTP会话内容,给其他模块功能提供数据。
Proxy模块由4个部分组成,分别是Intercept、HTTP history、Websockets history、Options。
1、Intercept
Intercept顾名思义,就是截断请求的意思。
Intercept选项卡由Forward、Drop、Interception is on/off、Action、Comment、Highlight构成。接下来将对他们的功能分别进行介绍。
-
Forward
:当你查看过拦截的消息,或者对拦截的消息重新编辑过后,点击此按钮,会将处理过的消息发送至服务器。
-
Drop
:将拦截的消息丢弃,不再发往服务器。 -
Interception is on/off
:
is on 表示打开拦截功能,此时打开浏览器访问URL并回车,将会看到数据流量经过Burp Proxy并被暂停,Foward
和Drop
就是搭配拦截功能打开时使用的。is off 表示关闭拦截功能,此时BurpSuite可以视为正常的代理服务器。
-
Action
:除了将当前请求的消息传递到Spider、Scanner、Repeater、Intruder、Sequencer、Decoder、Comparer组件外,还可以做一些请求消息的修改,如改变GET或者POST请求方式、改变请求body的编码,同时也可以改变请求消息的拦截设置,如不再拦截此主机的消息、不再拦截此IP地址的消息、不再拦截此种文件类型的消息、不再拦截此目录的消息,也可以指定针对此消息拦截它的服务器端返回消息。
-
Comment
和Highlight
:搭配使用,针对拦截的消息添加备注、设置高亮,以便于进行消息区分。
2、HTTP history
用于查看历史数据包。点击某条数据包,还可查看请求及返回的消息详情;点击右键还可将数据包发送到其他模块,也就是Intercept
中Action
的功能
点击过滤器可以设置过滤选项
3、Websockets history
和HTTP history类似,实际很少会用到,这里不再赘述。
4、Options
主要用于配置Proxy,包含8大项配置,以下将针对常用的5项进行逐项介绍。
Proxy Listeners-代理监听器
配置代理服务器的,在【BurpSuite 代理和浏览器设置】这篇文章里有介绍到怎么配置使用,这里不再赘述。
Intercept Client Requests-客户端请求消息拦截
用于配置哪些请求数据包需要拦截,支持多条规则同时匹配。勾选Intercept requests based on the following rules
后,则表示符合列表里勾选的规则的请求都将被拦截。
点击添加规则:
Boolean opertor
:表示当前规则与其他规则是与的方式还是或的方式;Match type
:选择匹配类型,支持基于域名、IP地址、协议、请求方法、URL、文件类型、参数, cookies, 头部或者内容, 状态码, MIME类型, HTML页面的title等;Match relationship
:表示此条规则是匹配还是不匹配Match condition输入的关键字;
配置完后点击OK则规则被保存。
若Automatically fix missing
被勾选中,则表示在一次消息传输中,BurpSuite会自动修复丢失或多余的新行。比如说,一条被修改过的请求消息,如果丢失了头部结束的空行,BurpSuite会自动添加上;如果一次请求的消息体中,URl编码参数中包含任何新的换行,BurpSuite将会移除。此项功能在手工修改请求消息时,为了防止错误,有很好的保护效果。
若Automatically update Content-Length
被勾选中,则当请求的消息被修改后,Content-Length消息头部也会自动被修改,替换为与之相对应的值。在部分情况下需要关闭该功能(比如想DOS)。
Intercept Server Responses-服务器返回消息拦截
默认是不启用的,需要手动启用。配置跟请求拦截类似,不再赘述。
Responses Modification-服务器返回消息修改
对应功能:
- 显示form表单中隐藏字段
- 高亮显示form表单中隐藏字段
- 使form表单中的disable字段生效,变成可输入域
- 移除输入域长度限制
- 移动JavaScript验证
- 移动所有的JavaScript
- 移除标签
- 转换https超链接为http链接
- 移除所有cookie中的安全标志
勾选后,针对服务器返回消息进行勾选项设置,以便于在安全测试过程中突破原有的数据限制。
Match and Replace-匹配和替换
此项配置主要用来自动替换请求消息和服务器端返回消息中的某些值和文本,它与前文的规则的不同之处还在于支持正则表达式