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 Walkthrough(中文版)的更多相关文章

  1. Burp Suite Walkthrough(英文版)

    Burp Suite is one of the best tools available for web application testing. Its wide variety of featu ...

  2. Burp Suite Walkthrough

    Burp Suite is one of the best tools available for web application testing. Its wide variety of featu ...

  3. kali2019里安装Burp Suite安装破解版加汉化版

    Burpsuite是一个强大web漏洞挖掘工具,截断代理,解码和编码,Fuzzy进行各种注入和暴力破解 插件扩展,有多个模块 Burp Suite没有中文版的,我英语又不好,我虽然精通Burp Sui ...

  4. 安全测试工具(1)- Burp Suite Pro的安装教程

    啥是Burp Suite 用于攻击web 应用程序的集成平台 程序员必备技能,不仅可以拿来做渗透测试.漏洞挖掘还能帮助程序员调试程序 Bug 它包含了许多Burp工具,这些不同的burp工具通过协同工 ...

  5. Burp Suite新手指南

    Burp Suite想必大家都用过,但是大家未必知道它的所有功能.因此,本文的主要目的就是尽量深入介绍各种功能.BurpSuite有以下这些功能: 截获代理– 让你审查修改浏览器和目标应用间的流量. ...

  6. Burp Suite使用详解一

    本文由阿德马翻译自国外网站,请尊重劳动成果,转载注明出处 Burp Suite是Web应用程序测试的最佳工具之一,其多种功能可以帮我们执行各种任务.请求的拦截和修改,扫描web应用程序漏洞,以暴力破解 ...

  7. Burp Suite 使用教程(上传突破利器)

    Burp Suite是一个免费的网站攻击工具. 它包括proxy.spider.intruder.repeater四项功能.该程序使用Java写成,需要 JRE 1.4 以上版本 下载该程序的源代码, ...

  8. 初识 Burp Suite

           Burp Suite 是用于攻击web 应用程序的集成平台.它包含了许多工具,并为这些工具设计了许多接口,以促进加快攻击应用程序的过程. 所有的工具都共享一个能处理并显示HTTP 消息, ...

  9. 安卓APP测试之使用Burp Suite实现HTTPS抓包方法

    APP的测试重点小部分在APP本身,大部分还是在网络通信上(单机版除外).所以在安卓APP测试过程中,网络抓包非常重要,一般来说,app开发会采用HTTP协议.Websocket.socket协议,一 ...

随机推荐

  1. 使用jvisualvm和飞行记录器分析Java程序cpu占用率过高

    一.jvisualvm使用 JDK1.6中Oracle提供了一个新的JVM监控工具:jvisualvm.下面重点介绍如何在本地通过远程的方式打开Linux服务器上的jvisualvm. 1.Xmana ...

  2. arclist底层模板字段,可以调用的字段列表

    arclist底层模板字段,可以调用的字段列表   用DedeCMS做站,arclist是用得最多的标签,因为他是调用文章的基本标签,功能也非常强大,他的底层字段比较多,我们平时使用还没有用到一半,但 ...

  3. JAXB - Annotations, Type Mapping: XmlSchemaType

    The annotation XmlSchemaType defines a mapping between an arbitrary Java type and a simple schema bu ...

  4. 不关闭seLinux解决vsftpd服务本地用户不能登录问题(500 OOPS: cannot change directory:/home/***

    这里不讲vsftpd的基本配置,网上教程已经太多了.这里只说seLinux的问题. 日前在CentOS6.5中安装了vsftpd,按照网上搜索的教程,配置好/etc/vsftpd/vsftpd.con ...

  5. 快速登录IRC网络聊天室

    随便起个NickName,进行人机验证,然后点击Connect进去就可以咯.

  6. ###STL学习--迭代器

    点击查看Evernote原文. #@author: gr #@date: 2014-08-23 #@email: forgerui@gmail.com STL中的迭代器. ###stl学习 |--迭代 ...

  7. ###《More Effective C++》- 基础议题

    More Effective C++ #@author: gr #@date: 2015-05-11 #@email: forgerui@gmail.com 一.仔细区别pointers和refere ...

  8. C# ACM poj1002

    排序 public static void acm1002(string[] azx) { string[] a = new string[azx.Length]; ; i < azx.Leng ...

  9. (转)Quartz.NET管理类

    最近做项目设计到Quartz.NET,写了一个Quartz.NET管理类,在此记录下. public class QuartzManager<T> where T : class,IJob ...

  10. Executors 构建线程池

    Executors包含一系列静态方法,可以用于构建线程池. 返回实现了 ExecutorService 接口的对象: newCachedThreadPool newFixedThreadPool(in ...