正所谓想要渗透玩的好,bp少不了
Burp Suite是无人不晓的web渗透测试必备的工具。从应用程序表面的映射和内部分析,到探测和利用漏洞等过程,所有插件支持整体测试程序而无缝地在一起工作。
对web服务的渗透测试过程中,少不了抓包,改包来进行测试网站中的各种应用以及功能,从而找到其中的漏洞,Burpsuite就是在众多抓包工具中比较脱颖而出的一款软件,以下给大家介绍Burpsuite中几个常用的模块。
00x00 常用的模块介绍
Target
目标模块用于设置扫描域、生成站点地图、生成安全分析
Proxy
代理模块主要用于拦截浏览器的http会话内容
Spider
爬虫模块用于自动爬取网站的每个页面内容,并生成完整的站点地图
scanner
扫描模块用于自动检测漏洞,分为主动扫描和被动扫描
Intruder
入侵模块根据检测到的可能存在的漏洞,调用攻击载荷,对目标进行攻击。入侵模块的原理是根据访问链接中存在的参数或者变量,调用本地词典、攻击载荷对目标进行攻击
Repeater
重放模块用于实现请求重放,通过修改参数进行手工请求回应的调试
Sequencer
序列器模块用于检测参数的随机性,例如密码或者令牌是否可预测,以此判断关键数据是否可被伪造
Decoder
解码器模块用于实现对URL、HTML、Base64、ASCII、二\八\十六进制、哈希等编码转换,并支持多次编码解码操作
00x01 Burp Suite使用
1. 安装与帮助
运行时依赖JRE,需要安装Java环境才可以运行。需要安装Java环境,大家可以百度搜索JDK,下载安装包然后安装即可。安装完成之后,我们可以通过命令java -version来查看
下载好的Burp Suite无需安装,直接运行BurpLoader.jar即可。
正常打开之后,我们就可以看到Burp Suite的主界面了,如下图所示。
2. 代理功能
代理工具用来拦截所有通过代理的网络流量,如客户端的请求数据,服务器端的返回信息等。Burp Suite主要拦截HTTP和HTTPS流量,通过拦截再以中间人的方式对拦截到的信息做各种处理来达到目的。在日常工作中,我们最常用的Web客户端就是Web浏览器,我们可以通过设置代理功能来拦截Web浏览器的流量,Burp Suite默认本地代理端口为8080。
接下来我们设置Web浏览器代理,我们在这里以Firefox浏览器为例,同一款浏览器的不同版本设置方法基本一致。
想要抓取Https就需要导入burp suite的伪造证书,先在已经设置代理的浏览器中,这里是用火狐浏览器访问,http:127.0.0.1:8080 将CA证书下载下来。
在浏览器中导入ca证书
代理功能设置好之后,我们通过Burp Suite拦截DVWA靶机,我们可以看到浏览器一直处于加载状态,这就说明会话被拦截成功了
接下来我们在Burp Suite里面查看Proxy的intercept,如下图所示:
Proxy为开展渗透测试的核心功能
Forward:将拦截的数据包发送到服务器
Drop:丢弃当前的数据包
Interception is on 开启拦截
Interception is off 关闭拦截
Action:可以将数据包发送到Spider、Scanner等模块
3. 目标功能
目标模块用于设置扫描域(target scope)、生成站点地图(sitemap)、生成安全分析。该模块最主要功能就是显示信息,它会默认记录浏览器访问的所有页面,可以看到爬虫爬取到的页面以及所有页面的请求和响应信息。
由于Burp Suite默认开启了被动爬虫功能,当我们在访问Web界面的时候,会自动爬行得到该站点地图,所以我们可以直接在Targer里面的Site map里面找到目标站点,鼠标右键,在下拉菜单中选择“Add to scope”,把站点添加进scope
4. 爬虫功能
爬虫模块用于自动爬取网站的每个页面内容,并生成完整的站点地图。在这里我们以OWASP的DVWA靶机为例,给大家演示一下如果通过爬虫主动爬取站点地图
当我们拦截到HTTP的数据包之后,选择"Action"按钮,选择"Send to Spider"发送给爬虫模块,当然还可以在HTTPhistory界面,Site map界面找到对应站点链接发送给爬虫模块
接下来我们在Spider模块的Control界面就可以看到爬虫状态,如下图所示: 在Options界面我们可以设置爬虫线程,爬行深度,表单提交,被动爬虫功能等规则,大家可以根据自己的需求来自行设置
扫描出的结果我们可以在刚才的target里面看见
5、爆破模块:
Intruder模块通常用来进行暴力破解,以靶机DVWA为例子在,抓取了登录框的包后,使用action进行发送给intruder模块进行配置
在设置需要爆破的变量,这里设置的password,然后在Payloads里面设置需要的字典或者其他的payload
在load处使用自己的字典,也可以在options里面设置每隔多少时间的发多少个包的时间间隔
intruder - start attack开始攻击
通过状态码、返回长度、以及返回包综合筛选出爆破成功的包,可以确定这里password为正确的密码
6、编码的加解密:
Decoder模块中可以进行多种编码的加解密,其中包含了有Plain、URL、HTML、Base64、ASCII hex、Hex、Octal、Binary、Gzip,可以在渗透过程中对抓取的包进行更加方便的分析
7、Repeater重发包模块
在渗透测试过程中,需要经常的修改数据包来绕过模板网站的逻辑,从而达到分析发现漏洞,就需要对某个包重复的发送已经抓取,Repeater模块可以直接抓取一个数据包后,可进行多次的修改跟发送,节省测试人员的时间,大幅度的提升效率