带你玩转系列之Burpsuite

简介: Burpsuite

正所谓想要渗透玩的好,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来查看

640.png

下载好的Burp Suite无需安装,直接运行BurpLoader.jar即可。

640.png

正常打开之后,我们就可以看到Burp Suite的主界面了,如下图所示。

640.png

2. 代理功能

代理工具用来拦截所有通过代理的网络流量,如客户端的请求数据,服务器端的返回信息等。Burp Suite主要拦截HTTP和HTTPS流量,通过拦截再以中间人的方式对拦截到的信息做各种处理来达到目的。在日常工作中,我们最常用的Web客户端就是Web浏览器,我们可以通过设置代理功能来拦截Web浏览器的流量,Burp Suite默认本地代理端口为8080。

640.jpg

接下来我们设置Web浏览器代理,我们在这里以Firefox浏览器为例,同一款浏览器的不同版本设置方法基本一致。

 640.png

想要抓取Https就需要导入burp suite的伪造证书,先在已经设置代理的浏览器中,这里是用火狐浏览器访问,http:127.0.0.1:8080  将CA证书下载下来。

 640.png

在浏览器中导入ca证书

640.png

代理功能设置好之后,我们通过Burp Suite拦截DVWA靶机,我们可以看到浏览器一直处于加载状态,这就说明会话被拦截成功了

接下来我们在Burp Suite里面查看Proxy的intercept,如下图所示:

640.png

Proxy为开展渗透测试的核心功能

640.png

Forward:将拦截的数据包发送到服务器

Drop:丢弃当前的数据包

Interception is on  开启拦截

Interception is off  关闭拦截

Action:可以将数据包发送到Spider、Scanner等模块

3. 目标功能

目标模块用于设置扫描域(target scope)、生成站点地图(sitemap)、生成安全分析。该模块最主要功能就是显示信息,它会默认记录浏览器访问的所有页面,可以看到爬虫爬取到的页面以及所有页面的请求和响应信息。

640.jpg

由于Burp Suite默认开启了被动爬虫功能,当我们在访问Web界面的时候,会自动爬行得到该站点地图,所以我们可以直接在Targer里面的Site map里面找到目标站点,鼠标右键,在下拉菜单中选择“Add to scope”,把站点添加进scope

640.jpg

4. 爬虫功能

爬虫模块用于自动爬取网站的每个页面内容,并生成完整的站点地图。在这里我们以OWASP的DVWA靶机为例,给大家演示一下如果通过爬虫主动爬取站点地图

当我们拦截到HTTP的数据包之后,选择"Action"按钮,选择"Send to Spider"发送给爬虫模块,当然还可以在HTTPhistory界面,Site map界面找到对应站点链接发送给爬虫模块

 640.jpg

接下来我们在Spider模块的Control界面就可以看到爬虫状态,如下图所示: 在Options界面我们可以设置爬虫线程,爬行深度,表单提交,被动爬虫功能等规则,大家可以根据自己的需求来自行设置

640.png

扫描出的结果我们可以在刚才的target里面看见

5、爆破模块:

Intruder模块通常用来进行暴力破解,以靶机DVWA为例子在,抓取了登录框的包后,使用action进行发送给intruder模块进行配置

 640.jpg

在设置需要爆破的变量,这里设置的password,然后在Payloads里面设置需要的字典或者其他的payload

 640.png

在load处使用自己的字典,也可以在options里面设置每隔多少时间的发多少个包的时间间隔

 640.jpg

intruder - start attack开始攻击

 640.jpg

通过状态码、返回长度、以及返回包综合筛选出爆破成功的包,可以确定这里password为正确的密码

6、编码的加解密:

Decoder模块中可以进行多种编码的加解密,其中包含了有Plain、URL、HTML、Base64、ASCII hex、Hex、Octal、Binary、Gzip,可以在渗透过程中对抓取的包进行更加方便的分析

 640.png

7、Repeater重发包模块

在渗透测试过程中,需要经常的修改数据包来绕过模板网站的逻辑,从而达到分析发现漏洞,就需要对某个包重复的发送已经抓取,Repeater模块可以直接抓取一个数据包后,可进行多次的修改跟发送,节省测试人员的时间,大幅度的提升效率

 640.jpg




相关文章
|
存储 算法 NoSQL
还分不清 Cookie、Session、Token、JWT?看这一篇就够了
Cookie、Session、Token 和 JWT(JSON Web Token)都是用于在网络应用中进行身份验证和状态管理的机制。虽然它们有一些相似之处,但在实际应用中有着不同的作用和特点,接下来就让我们一起看看吧,本文转载至http://juejin.im/post/5e055d9ef265da33997a42cc
46980 13
【各种问题处理】X86架构和ARM架构的区别
【1月更文挑战第13天】【各种问题处理】X86架构和ARM架构的区别
|
11月前
|
数据采集 安全 测试技术
Burpsuite Scanner被动扫描生成安全评估报告
Burpsuite Scanner被动扫描生成安全评估报告
|
安全 API 网络安全
OpenStack的 网络服务(Neutron)
【8月更文挑战第23天】
843 10
|
6月前
|
自然语言处理 JavaScript 前端开发
从模糊搜索到语义搜索的进化之路——探索 Chroma 在大模型中的应用价值
Chroma 提供了一种新型的搜索方式,通过语义搜索替代传统的关键词匹配,大大提高了信息检索的精度和用户体验。在信息爆炸的时代,语义搜索的出现满足了人们对高效信息获取的需求。随着大模型的发展,Chroma 等技术将会进一步提升信息检索的智能化水平,为各类应用场景带来更多可能性。 只有锻炼思维才能可持续地解决问题,只有思维才是真正值得学习和分享的核心要素。如果这篇博客能给您带来一点帮助,麻烦您点个赞支持一下,还可以收藏起来以备不时之需,有疑问和错误欢迎在评论区指出~
从模糊搜索到语义搜索的进化之路——探索 Chroma 在大模型中的应用价值
|
11月前
|
数据采集 安全 Java
Burpsuite Intruder 暴力破jie实战
Burpsuite Intruder 暴力破jie实战
|
SQL Oracle 关系型数据库
union 和 union all 的区别及使用说明
union 和 union all 的区别及使用说明
386 0
|
Docker 容器
docker 换国内镜像源,docker换源
docker 换国内镜像源,docker换源
9682 5
|
数据库 Docker 容器
【Docker 专栏】使用 Dockerfile 自动化构建 Docker 镜像
【5月更文挑战第8天】Dockerfile是构建Docker镜像的关键,它包含一系列指令,用于描述应用运行环境及所需软件包。通过自动化构建,能提高效率、保证可重复性并提升灵活性。确定基础镜像、安装依赖、设置环境后,执行Dockerfile生成镜像,用于应用程序部署。虽然需要熟悉Docker技术和应用细节,但其带来的益处使其成为现代软件开发和部署的重要工具。
259 1
【Docker 专栏】使用 Dockerfile 自动化构建 Docker 镜像
|
编译器 C++ 开发者
C++一分钟之-多重继承与菱形问题
【7月更文挑战第19天】C++的多重继承允许类从多个基类派生,但引入了菱形问题,即类D通过B和C(都继承自A)双重继承A,可能导致数据冗余和二义性。解决这个问题的关键是**虚继承**,通过`virtual`关键字确保基类A只被继承一次,消除冲突。理解并适当使用虚继承是处理这类问题的关键,有助于保持代码的清晰和正确性。
270 0