Burp Suite是Web应用程序测试的最佳工具之一,其多种功能可以帮我们执行各种任务.请求的拦截和修改,扫描web应用程序漏洞,以暴力破解登陆表单,执行会话令牌等多种的随机性检查。本文将做一个Burp Suite完全正的演练,主要讨论它的以下特点.
1.代理--Burp Suite带有一个代理,通过默认端口8080上运行,使用这个代理,我们可以截获并修改从客户端到web应用程序的数据包.

2.Spider(蜘蛛)--Burp Suite的蜘蛛功能是用来抓取Web应用程序的链接和内容等,它会自动提交登陆表单(通过用户自定义输入)的情况下.Burp Suite的蜘蛛可以爬行扫描出网站上所有的链接,通过对这些链接的详细扫描来发现Web应用程序的漏洞 。

3.Scanner(扫描器)--它是用来扫描Web应用程序漏洞的.在测试的过程中可能会出现一些误报。重要的是要记住,自动扫描器扫描的结果不可能完全100%准确.

4.Intruder(入侵)--此功能呢可用语多种用途,如利用漏洞,Web应用程序模糊测试,进行暴力猜解等.

5.Repeater(中继器)--此功能用于根据不同的情况修改和发送相同的请求次数并分析.

6.Sequencer--此功能主要用来检查Web应用程序提供的会话令牌的随机性.并执行各种测试.

7.Decoder(解码)--此功能可用于解码数据找回原来的数据形式,或者进行编码和加密数据.

8.Comparer--此功能用来执行任意的两个请求,响应或任何其它形式的数据之间的比较.

1)Proxy(代理)

代理功能使我们能够截获并修改请求.为了拦截请求,并对其进行操作,我们必须通过Burp Suite配置我们的浏览器.

打开alerts标签,可以看到代理正运行在8080端口.我们可以在Proxy-->options下来修改这个配置.

在这里我们可以编辑代理正在监听的端口,甚至添加一个新的代理监听.Burp也有向SSL保护网站提交证书的选项.默认情况下,Burp创建一个自签名的证书之后立即安装."generate CA-signed per-host certificates"选项选中之后Burp的证书功能将生成一个我们能够链接的证书签署的特定主机.在这里我们关心的唯一事情是,当一个用户链接到一个SSL保护的网站时,能后减少网站警告提示的次数.

如果我们不选中"listen on loopback interface only"选项,意味着Burp Proxy可以作为一个网络上其它系统的代理。这意味着在同一网络中的任何计算机都可以使用Burp Proxy功能成为代理,并中继通过它的流量.

"support invisible proxying for non-proxy-aware client"选项是用于客户端不知道他们使用的是代理的情况下.这意味着代理设置不是设置在浏览器,有时候设置在hosts文件中.在这种情况下,和将代理选项设置在浏览器本身所不同的是Burp需要知道它是从一个非代理客户端接收流量的."redirect to host"和"redirect to port"选项将客户端重定向到我们在该选项后设置的主机和端口。


这里有个选项用来修改从响应中接收到的html网页。我们可以取消隐藏的表单字段,删除javascript等。还有一个选项用自定义字符串替换掉寻找到的特定的模式.我们需要用指定正则表达式。Burp将解析请求或者响应以期望能够寻找到这种模式,将会用自定义的字符串来替换它.

接下来会弹出一个警告弹窗让我们"add item to scope(添加项目到作用域)".点击"Yes".一个范围将在我们运行的测试目标上定义好.

进入Scope标签,我们能够看到DVWA应用已经添加到作用域.

另外一个重要的选项是"application login(应用程序登陆)".一旦Burp Spider提交一个登陆表单的时候就开始爬行(抓取).它可以自动提交我们提供给它的证书.我们同样可以设置admin/password凭证,设置好之后,他们会做为DVWA中的凭证.因此Burp Spider可以自动提交那些信息凭证,并且保持爬行抓取的状态希望能够获得更多的新的信息.你也可以在thread(线程)项来修改线程数.

这样就会启动Burp Spider,在Spider control标签下我们会看到正在做出的请求,我们也可以为Burp Spider自定义一个范围.

3)Intruder(入侵)

Burp Intruder可以用于利用漏洞,模糊测试,暴力猜解等。在这种情况下我们将使用Burp Suite的Intruder对DVWA进行暴力猜解攻击.浏览到DVWA,单击"Burp Force(暴力猜解)",随便输入username和password,确保Burp Suite上的"intercept is on(监听是打开的)".然后点击登陆.

以上的操作会将请求信息发送给intruder功能.进入intruder标签,配置Burp Suite来发起暴力猜解的攻击.在target标签下可以看到已经设置好了要请求攻击的目标

单击右边的"clear"按钮,将会删除所有用不同颜色演示的重要的信息.接下来我们需要配置Burp在这次攻击中只把用户名和密码做为参数.选中本次请求中的username(本例中用户名是指"infosecinstiture")然后单击"Add(添加)".同样的将本次请求中的password也添加进去.这样操作之后,用户名和密码将会成为第一个和第二个参数.一旦你操作完成,输出的样子应该如下图所示:

接下来我们需要设置这次攻击的攻击类型,默认情况下的攻击类型是"Sniper(狙击手)",在本例中,我们将使用"Cluster Bomb(集束炸弹)"的攻击类型.有四种攻击类型,分别是singer,battering ram,pitchfork,cluster bomb.下图中我们看到的我们的攻击类型是"Cluster Bomb'


进入payload标签,确保"payload set"的值是1,点击"load(加载)"加载一个包含用户名的文件 。本例中我们使用一个很小的文件来进行演示.加载之后用户名文件中的用户名会如下图所示


同样设置"payload set"的值为2,点击"load"加载一个密码字典文件。


进入"options"标签,确保results下的"store requests"和"store responses"已经选择.

Burp Suite使用详解

点击左上角的"Intruder"开始攻击,会看到弹出一个windows窗口,其中有我们制作好的所有请求。

我们如何确定哪一个登陆请求是成功的呢?通过一个成功的请求相比不成功的,是有一个不同的响应状态.在这种情况下,我们看到的用户名"admin"和密码"password"的响应长度相比其它的请求,有所不同.

根据不同的响应请求,点击"request".如果点击"response"选项,我们看到文字"welcome the password protected area admin"出现在响应中,这意味着这次请求中使用的username/password是正确的.


Burp的入侵功能是Burp Suite最强大的功能之一.我们要仔细的学习它的使用.

4)Repeater(中继转发)

通过Burp Repeater功能,我们可以手动修改一个请求,并且发送出去,来分析返回的响应.我们需要从不同的地方发送请求给Burp Repeater,比如入侵者,代理等.发送一个请求给Repeater,只需要单击右键"send to Repeater".


点开Repeater标签,会看到request,也可以看到名为1,2,3的3个标签.

我们也可以看到requestparams,header,hex和raw格式的请求,发送请求之前,我们可以修改其中的任何一个.

只修改Params请求下的username=admin,password=password,点击go,这样就会发送这个请求.

我们可以分析response部分返回的响应.

还有几部分功能没有翻译出来,由于英文水平以及工作经验欠缺,很多专业词汇可能翻译不是很准确,贴上原文URL,可以对照阅读.

原文地址:http://resources.infosecinstitute.com/burp-suite-walkthrough/

本文由阿德马翻译自国外网站

burp suite 使用教程详解(外文翻译转)的更多相关文章

  1. 史上最全的maven pom.xml文件教程详解

    <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/20 ...

  2. SAE上传web应用(包括使用数据库)教程详解及问题解惑

    转自:http://blog.csdn.net/baiyuliang2013/article/details/24725995 SAE上传web应用(包括使用数据库)教程详解及问题解惑: 最近由于工作 ...

  3. webpack安装配置使用教程详解

    webpack安装配置使用教程详解 www.111cn.net 更新:2015-09-01 编辑:swteen 来源:转载 本文章来为各位详细的介绍一下关于webpack安装配置使用教程吧,这篇文章对 ...

  4. 重置出错?微软Win10平板Surface Pro 4重装系统教程详解

    重置出错?微软Win10平板Surface Pro 4重装系统教程详解 2015-12-11 15:27:30来源:IT之家作者:凌空责编:凌空 评论:65 Surface Pro 4系统重置出错该怎 ...

  5. QuartusII13.0使用教程详解(一个完整的工程建立)

    好久都没有发布自己的博客了,因为最近学校有比赛,从参加到现在都是一脸懵逼,幸亏有bingo大神的教程,让我慢慢走上了VIP之旅,bingo大神的无私奉献精神值得我们每一个业界人士学习,向bingo致敬 ...

  6. Ubuntu下安装JDK图文教程详解 jdk-java6-30 .bin 的处理方法

    Ubuntu下安装JDK图文教程详解 jdk-java6-30 .bin 的处理方法: https://blog.csdn.net/mingjie1212/article/details/485250 ...

  7. Webstorm使用教程详解

    Webstorm使用教程详解 Webstorm垂直分栏.左右分栏 Webstorm 主题.背景.颜色等设置的导入导出   使用WebStorm开发web前端 网页中文乱码问题的解决方案 Webstor ...

  8. Pycharm新手使用教程(详解)

    Pycharm新手使用教程(详解) [注]: 如果想要下载Pycharm工具,直接去<开发工具>中进行下载. 简介 Jetbrains家族和Pycharm版本划分: pycharm是Jet ...

  9. YUV视频格式详解(翻译自微软文档)

    原文: https://docs.microsoft.com/en-us/previous-versions/aa904813(v=vs.80) YUV视频格式详解(翻译自微软文档)https://b ...

随机推荐

  1. 【java】: 操作excel2007/2003

    //上传位置(与操作excel无关,可不看) public String getUploadPath() { File theWebFolder = XMPPServer.getInstance(). ...

  2. LeetCode(84) Largest Rectangle in Histogram

    题目 Given n non-negative integers representing the histogram’s bar height where the width of each bar ...

  3. ajax返回类型dataType json和text比较

    $.ajax({ type: "post", url: "${ctx}/modules/fos/reference/echart", //dataType:'j ...

  4. 为什么要学习和掌握Linux?

    总结:从“为什么要学习和掌握Linux”开始,James阐述原因和理由:规划自己的目标: 为什么要学习和掌握Linux?——在读书时,如果看到别人使用命令行操作计算机实现自己想要的功能,便会冒出一个念 ...

  5. java中的内部类小结

    内部类不是很好理解,但说白了其实也就是一个类中还包含着另外一个类.如同一个人是由大脑.肢体.器官等身体结果组成,而内部类相当于其中的某个器官之一,例如心脏:它也有自己的属性和行为(血液.跳动).显然, ...

  6. 解决cocos2dx在Xcode中运行时报:convert: iCCP: known incorrect sRGB profile 的问题

    解决cocos2dx在Xcode中运行时报:convert: iCCP: known incorrect sRGB profile 的问题 本文的实践来源是参照了两个帖子完成的: http://dis ...

  7. 横竖屏切换时Activity的生命周期

    设置横竖屏切换时Activity生命周期的属性设置,在清单文件中的Activity节点中设置.根据具体需求设置: 1.不设置Activity的android:configChanges时,切屏会重新调 ...

  8. mysq双主模式

    准备环境:服务器操作系统为RHEL6.4 x86_64,为最小化安装.主机A和主机B均关闭防火墙和SELINUX ,IP地址分别为192.168.131.129和192.168.131.130,MyS ...

  9. 一步一步搭建客服系统 (2) 如何搭建SimpleWebRTC信令服务器

    上次介绍了<3分钟实现网页版多人文本.视频聊天室 (含完整源码)>使用的是default 信令服务器,只是为了方便快速开始而已.SimapleWebRTC官方文档里第一条就讲到,不要在生产 ...

  10. 在项目中引用GreenDroid库

    1.下载GreenDroid库 首先,我们得从Git上下载这个库,我用的是git for windows下载的.先下载,安装.安装完后,打开git for windows ,直接将浏览器中GreenD ...