burp简介
Burp Suite是Web应用程序测试的最佳工具之一,可以对请求的数据包进行拦截和修改,扫描常见的web安全漏洞,暴力破解登录表单、遍历数据等等。
Burp所需环境
Burp Suite是Java编写的,所以在使用前需要安装Jdk环境,这里不进行具体讲解如何安装jdk,安装完成后将jdk相关目录添加到环境变量中。
主要功能
首先,我们看下burp都有哪些功能,并且都是用来做什么的。
-
proxy – Burp Suite设置代理,抓取数据包。
-
Spider – Burp Suite的蜘蛛功能是用来抓取Web应用程序的链接和内容等。
-
Scanner – 是用来扫描Web应用程序漏洞的,可以发现常见的web安全漏洞,但会存在误报的可能。
-
Intruder – 可进行Web应用程序模糊测试,进行暴力猜解等。
-
Repeater – 对数据包进行重放,可分析服务器返回情况,判断修改参数的影响。
-
Sequencer – 用来检查Web应用程序提供的会话令牌的随机性.并执行各种测试。
-
Decoder – 对数据进行加解密操作,包含url、html、base64等等。
-
Comparer – 此功能用来执行任意的两个请求,响应或任何其它形式的数据之间的比较。
-
extender - 加载Burp Suite的扩展,使用你自己的或第三方代码来扩展Burp Suite的功能。
-
options - 设置burp,字体,编码等等
-
alerts - 是用来存放报错信息的,用来解决错误
功能介绍
本次我们主要学习如何使用burp抓取数据包的proxy功能。
首先,打开burp,并进入到proxy功能,可以看到options
、Histroy
、intercept
、websockets history
标签。
Intercept模块
Intercept - 控制抓取到的数据包,并可将数据包放行或舍弃,以及发送到其他功能中。
Intercept相关功能
-
Forward - 将抓取或修改后的数据包发送到服务器端
-
Drop - 丢弃抓取到的数据包,不与服务器端进行交互该数据包
-
Interceptionis on/off - 是否拦截数据包,on表示拦截,off表示放行
- Action - 可对该数据包做哪些操作,同样数据包处右击和action效果相同
- Commentfield - 为请求包或响应包设置注释,并可选择相应的颜色,更容易在history中查找到
- ? - 查看帮助信息。可通过帮助信息查看功能的使用
同样,burp有四种消息类型显示数据包
Raw - 以纯文本形式显示数据包
Params - 包含参数URL 查询字符串、cookies的请求,并可双机该请求进行修改
Headers - 以名称、值的形式显示获取的数据包。
Hex - 可编辑数据包的二进制数据,在进行00截断时非常好用。
同样,burp具有搜索功能,可以搜索当前数据包中你想要的内容,并且会显示符合内容的个数以及位置
histroy模块
Histroy - 记录设置代理后浏览器访问的页面数据包,详细记录数据包的host、method、url、status、extension等等
当我们选中某个请求时,可以看他的请求包信息,同样也可查看他的响应包信息
请求数据包
同样,可以双机某个数据包即可打开详情,通过Previous/next
功能切换到其他数据包,同时,也可将该数据包发送到其他功能模块当中,方便我们的使用
如果认为某个数据包比较重要,可将当前数据包设置某个醒目的颜色以提示他的重要性
该模块下存在filter
功能,有许多模块存在该功能,可使用该功能将认为无用的数据包隐藏,把需要的数据包显示到当前状态下。
点击filter功能会出现该功能的配置选项。
可以按照请求类型,请求的状态,mime类型、搜索关键字,文件后缀、监听的端口等等,按个人需求去缩小需要的范围
options模块
options - 该选项主要用于设置代理监听、请求和响应,拦截反应等等。
Proxy Listeners - 设置监听
可以添加回环地址、所有的接口、具体的某个ip的地址
Intercept Client Requests - 配置拦截规则,设置拦截数据包的匹配规则。 规则可以是域名、IP、协议、HTTP方法、URL等等
Intercept Server Responses - 配置拦截规则,设置拦截的匹配规则,基于服务器端的返回情况进行匹配
还有很多功能介绍proxy,我们会在以后的文章中结合具体的实例去讲解,这里只进行常用的某些功能进行介绍。
实战篇
burp代理设置
首先我们需要设置burp代理,这里我们将端口设置为8888
同时需要选中该复选框
浏览器代理设置
方法一
这里以chrome为例,选择“设置”
找到“代理设置”
选择“连接”中的“局域网”
设置代理地址和端口,要和burp的地址端口相同
访问浏览器可抓取到数据包
方法二
使用浏览器扩展代理工具,避免每次到设置中查找该工具。
选择设置的代理
抓取数据包
同样,可以在history中查看某些数据,当访问的数据包较多时,但我们只需要某些特征时,可进行筛选
筛选数据包
看到既有php,也有js的数据,我们可能只想看php的,可以在filter中选择隐藏某些后缀
同样,可以设置只显示php、asp、jsp等后缀
也可以选择某些特定状态的数据包,例如:status为200等等