Burp Suite的基本介绍及使用

Burp Suite基本介绍
Burp Suite 是用于攻击web 应用程序的集成平台。它包含了许多工具,并为这些工具设计了许多接口,以促进加快攻击应用程序的过程。
所有的工具都共享一个能处理并显示HTTP 消息,持久性,认证,代理,日志,警报的一个强大的可扩展的框架。
Burp Suite是一个集成化的渗透测试工具,它集合了多种渗透测试组件,使我们自动化地或手工地能更好的完成对web应用的渗透测试和攻击。在渗透测试中,我们使用Burp Suite将使得测试工作变得更加容易和方便,即使在不需要娴熟的技巧的情况下,只有我们熟悉Burp Suite的使用,也使得渗透测试工作变得轻松和高效。
Burp Suite工具箱
burp suite包括以下几个模块

proxy:代理,默认地址是127.0.0.1,端口是8080
target:站点目标,地图
spider:爬虫
scanner:漏洞扫描
repeater:http请求消息与响应消息修改重放
intruder:暴力破解
sequencer:随机数分析
decoder:各种编码格式和散列转换
comparer:可视化差异对比功能
说白了,burp suite(也简写成bp)是一个用来抓包改包的工具。上面说的那么多模块,也不一定每一个在平时都能用得到。我们用的最多的,有proxy代理模块、repeater模块以及intruder模块。接下来,就把这几个模块的介绍结合基本使用方法一起说明了。

Burp Suite的基本使用
我这里使用的是一个Burp Suite Professional v1.7.26的版本,因为bp是用Java语言编写的,所以要想运行bp,要首先在电脑中安装Java运行环境,安装JRE或者JDK都行。
打开bp之后,首先映入眼帘的是这样一个界面,但是这样一个页面对于我们来说并不常用,所以就略过。

Proxy模块
现在来到proxy模块,也就是代理模块,是长这个样子的。可以看到bp的代理默认是开着的。在这个界面,可以看到有四个子界面。Intercept是拦截的意思,这里可以看到bp抓取的请求包和响应包。HTTP history是抓取HTTP包的历史记录,WebSockets history是抓取WebSockets包的历史记录。Options是代理设置,这里就可以看到bp默认监听的是本主机的8080端口。


这里只有bp监听本机的8080端口是不行的,还要在浏览器中设置代理,代理设置为本机的8080端口,让浏览器原本直接发送给服务器的数据,现在经过代理再转手发送给服务器。
以火狐浏览器为例,有两种方式打开代理。第一种是直接打开火狐浏览器的设置,之后手动设置代理,在“常规” 》“网络设置”里面,可以手动配置浏览器的代理。


第二种,可以安装一个FoxyProxy扩展工具,使用这个工具来开启或关闭浏览器的代理。这种方法比每次都手动修改设置里面的代理简单太多。
首先在附加组件里面,去搜索这个扩展工具

搜索到之后,直接添加到Firefox

之后就可以在浏览器的状态栏上看到一个狐狸头像的图标,这个就是foxy proxy,可以直接点击选项添加上bp的代理之后,直接打开或者关闭代理。

做好准备工作之后,现在抓一个请求包瞅瞅。为了省事,这里就不去访问互联网上的资源你了,直接打开phpstudy,之后在浏览器访问127.0.0.1,看看bp能抓到的包是什么样子的。打开浏览器代理,并且打开bp的抓包功能之后,浏览器会一直转圈,因为它发出去的请求报没有得到服务器(这里是本机的phpstudy)回应。它发出去的包被bp截住了。下面就是bp抓到的浏览器的请求包。

这里只是先抓个包看看长什么样子,可以看到这是一个GET请求包,第一行是请求行,剩下那几行是请求头,这里没有请求体。点击Forward之后,就可以放行这个请求包了,放行之后,看到浏览器就可以显示正常的请求到的页面了


在Proxy模块进行请求包和响应包的修改
proxy模块不仅可以抓到客户端向服务端发送的请求包,还可以抓到服务端回应给客户端的应答包,因为都经过bp转手了嘛。并且在proxy模块里,还可以对请求包和应答包做修改。
比如这个,打开bp进行抓包,我想请求的是127.0.0.1目录下的东西,也就是上面的那个文件列表。但是我用bp抓到了包之后,把请求行中的请求路径给改了,改成其他路径,可能是已存在的,也可能是不存在的路径,那么看看会是什么样的效果
1、首先,可以通过抓包看到,我请求的是127.0.0.1的网站根目录/

2、现在,我把这个目录给改了,改成一个其他的路径,直接在下面的请求包里面修改就行。修改完之后,点击forward放行。

3、可以看到我把原本浏览器请求的网站的根目录/,改成了网站根目录下的/other/目录,因为我的网站根目录下面根本没有这个目录,所以会显示Not Found。因为虽然看起来我访问的是127.0.0.1这个域名,但其实经过bp修改之后,服务器收到的请求是访问127.0.0.1/other/,但是服务器又没有这个目录,所以就回了一个没有找到给浏览器。

4、上面是利用bp对请求包进行修改,现在来做一下使用bp对响应包做修改。首先也是要先抓取请求报,要在抓到请求包的这个页面,右键选择Response to this request,也就是回应这个请求包。只有选择了这个,才能看到服务器回给我们的响应包。

5、一直点击forward放行,直到看到服务器发给我们的响应包。就是长这样的,前面是状态行加响应头,下面有一行空行,空行下面就是响应数据了。这里可以看到这个响应数据是一段html代码,现在我们把它给改了。

6、这里我把服务器的响应包数据部分,改成了一个under attack的字样,现在点击forward放行,看看浏览器会不会给我们显示这个

7、浏览器果然给我们显示了我们所修改的内容。这里,就是使用bp修改请求包和响应包的基本的内容了。


在Intruder模块进行账号密码的暴力破解
1、首先,在我的127.0.0.1/intercept/目录下,有一个check.php文件,它是一个简单的登录界面,并且只设定了一个用户名为admin,密码为123456的正确账户。只有输入这个,才会显示Success,否则都回显示Fail。现在,就利用bp的Intruder模块来进行对这个页面的暴力破解

2、首先,开启浏览器代理,开启bp进行抓包,随便输入一个用户名和密码,点击提交。
可以看到bp已经抓到了我们提交的请求包,并且看到提交的用户名为admin,密码为111111。

3、现在,在这个界面右键,点击Send to Intruder

4、来到Intruder模块界面,先点击Clear清空bp默认的破解位置,之后在自己想要破解的地方,点击add添加密码破解位。这里因为有两个地方要破解,所以就选择集束炸弹爆破模式

5、之后来到Payloads页面,选择密码破解位,添加或导入密码字典

6、添加完之后,点击Start attack开始攻击

7、攻击完成之后,会显示这样一个界面,这里就是所有账号密码匹配的结果。可以通过响应状态码或者响应包的大小来判断账号密码是否正确。这里看到有一对账号密码,即账号admin,密码123456的响应包长度明显不一样,并且查看响应包发现响应数据是Success,就是登录成功的标志。

8、使用上面爆破出的账号密码,拿到浏览器里面做验证。结果确实登陆成功,爆破成功

————————————————
版权声明:本文为CSDN博主「玄离大人」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/YQavenger/article/details/108611357

你可能感兴趣的:(大数据)