20189222 《网络攻防实践》 第十一周作业

Burp Suite入门实用教程

(一)什么是Burp Suite

Burp Suite 是用于攻击web 应用程序的集成平台。它包含了许多工具,并为这些工具设计了许多接口,以促进加快攻击应用程序的过程。所有的工具都共享一个能处理并显示HTTP 消息,持久性,认证,代理,日志,警报的一个强大的可扩展的框架。
Burp Suite 能高效率地与单个工具一起工作,例如:
一个中心站点地图是用于汇总收集到的目标应用程序信息,并通过确定的范围来指导单个程序工作。
在一个工具处理HTTP 请求和响应时,它可以选择调用其他任意的Burp工具。例如:
代理记录的请求可被Intruder 用来构造一个自定义的自动攻击的准则,也可被Repeater 用来手动攻击,也可被Scanner 用来分析漏洞,或者被Spider(网络爬虫)用来自动搜索内容。应用程序可以是“被动地”运行,而不是产生大量的自动请求。Burp Proxy 把所有通过的请求和响应解析为连接和形式,同时站点地图也相应地更新。由于完全的控制了每一个请求,你就可以以一种非入侵的方式来探测敏感的应用程序。
当你浏览网页(这取决于定义的目标范围)时,通过自动扫描经过代理的请求就能发现安全漏洞。
IburpExtender 是用来扩展Burp Suite 和单个工具的功能。一个工具处理的数据结果,可以被其他工具随意的使用,并产生相应的结果。

(二)Burp Suite的安装

  • Burp Suite是一个无需安装软件,下载完成后,直接从命令行启用即可。但Burp Suite是用Java语言开发的,运行时依赖于JRE,需要提前Java可运行环境。

  • 配置jvm内存大小:如果java可运行环境配置正确的话,正确运行时,会自动分配最大的可用内存。但在渗透测试过程中,如果有成千上万个请求通过Burp Suite,这时就可能会导致Burp Suite因内存不足而崩溃,从而会丢失渗透测试过程中的相关数据,这是我们不希望看到的。因此,我们可以在启动时,指定它使用的内存大小。

(三)Burp Suite代理和浏览器设置

(1)IE设置
打开IE选项->连接->局域网设置->勾选 为LAN使用代理服务器->输入地址127.0.0.1 端口号8080 (burp suite默认分配代理地址和端口,可以进行相应的更改)
(2)FireFox设置
打开FireFox->按alt显示导航栏->点击工具->点击选项->在新打开about:preferences中选高级->网络,此时我们将看到FireFox连接网络的设置选项。此后点击设置,在弹出的连接设置对话框中,找到“http代理”,填写127.0.0.1,端口填写8080,最后点击确认保存参数设置,完成FireFox的代理配置。

(四)Burp Suite工具箱

  • 1.Target(目标)——显示目标目录结构的的一个功能
  • 2.Proxy(代理)——是一个拦截HTTP/S的代理服务器(抓包),作为一个在浏览器和目标应用程序之间的中间人,允许你拦截,查看,修改在两个方向上的原始数据流。
  • 3.Spider(爬虫)——是一个应用智能感应的网络爬虫,它能完整的枚举应用程序的内容和功能。
  • 4.Scanner(扫描器)[仅限专业版]——是一个高级的工具,执行后,它能自动地发现web 应用程序的安全漏洞。
  • 5.Intruder(入侵)——是一个定制的高度可配置的工具,对web应用程序进行自动化攻击,如:枚举标识符,收集有用的数据,以及使用fuzzing 技术探测常规漏洞。
  • 6.Repeater(中继器)——是一个靠手动操作来补发单独的HTTP 请求,并分析应用程序响应的工具。
  • 7.Sequencer(会话)——是一个用来分析那些不可预知的应用程序会话令牌和重要数据项的随机性的工具。
  • 8.Decoder(解码器)——是一个进行手动执行或对应用程序数据者智能解码编码的工具。
  • 9.Comparer(对比)——是一个实用的工具,通常是通过一些相关的请求和响应得到两项数据的一个可视化的“差异”。
  • 10.Extender(扩展)——可以让你加载Burp Suite的扩展,使用你自己的或第三方代码来扩展Burp Suit的功能。
  • 11.Options(设置)——对Burp Suite的一些设置。

(五)Burp Proxy基本使用

Burp Proxy的拦截功能主要由Intercept选项卡中的Forward、Drop、Interception is on/off、Action、Comment 以及Highlight构成,它们的功能分别是: Forward的功能是当你查看过消息或者重新编辑过消息之后,点击此按钮,将发送消息至服务器端。 Drop的功能是你想丢失当前拦截的消息,不再forward到服务器端。Interception is on表示拦截功能打开,拦截所有通过Burp Proxy的请求数据;Interception is off表示拦截功能关闭,不再拦截通过Burp Proxy的所有请求数据。 Action的功能是除了将当前请求的消息传递到Spider、Scanner、Repeater、Intruder、Sequencer、Decoder、Comparer组件外,还可以做一些请求消息的修改,如改变GET或者POST请求方式、改变请求body的编码,同时也可以改变请求消息的拦截设置,如不再拦截此主机的消息、不再拦截此IP地址的消息、不再拦截此种文件类型的消息、不再拦截此目录的消息,也可以指定针对此消息拦截它的服务器端返回消息。

  • forward:传输本次数据。
  • drop:丢弃本次数据。
  • Intercepton/off:拦截开启/关闭。
  • Action:提供功能选项。
  • Raw:视图主要显示web请求的raw格式,包含请求地址、http协议版本、主机头、浏览器信息、Accept可接受的内容类型、字符集、编码方式、cookie等。我们可以通过手工修改这些信息,对服务器端进行渗透测试。
  • params :视图主要显示客户端请求的参数信息、包括GET或者POST请求的参数、Cookie参数。渗透人员可以通过修改这些请求参数来完成对服务器端的渗透测试。
  • headers:视图显示的信息和Raw的信息类似,只不过在这个视图中,展示得更直观、友好。
  • Hex :视图显示Raw的二进制内容,你可以通过hex编辑器对请求的内容进行修改。
  • comment:对拦截的消息添加备注,在一次渗透测试中,你通常会遇到一连串的请求消息,为了便于区分,在某个关键的请求消息上,你可以添加备注信息。
  • 可选项配置Options
    • 客户端请求消息拦截(Interceptclient requests)
    • 服务器端返回消息拦截(intercept server responses)
    • 服务器返回消息修改(response modification)
    • 正则表达式配置(match and replace)
    • 其他配置项(miscellaneous)


intercept is on 为拦截状态 其对应的intercept is off 为非拦截状态,设置完代理后打开拦截状态,浏览器发起的请求会被burpsuite所拦截。

forward: 进行请求后被拦截,点击forward可以继续此次请求,如果你点击drop则丢弃此请求数据。继续请求后能够看到返回结果。

(六)Burp scanner基本使用

BurpScanner的功能主要是用来自动检测web系统的各种漏洞,我们可以使用BurpScanner代替我们手工去对系统进行普通漏洞类型的渗透测试,从而能使得我们把更多的精力放在那些必须要人工去验证的漏洞上。Scannr的扫描方式分为两种,积极扫描和被动扫描。

  • 1.积极扫描(ActiveScanning)

    当使用主动扫描模式时,Burp 会向应用发送新的请求并通过payload验证漏洞。这种模式下的操作,会产生大量的请求和应答数据,直接影响系统的性能,通常使用在非生产环境。它对下列的两类漏洞有很好的扫描效果:
    (1)客户端的漏洞,像XSS、Http头注入、操作重定向。
    (2)服务端的漏洞,像SQL注入、命令行注入、文件遍历。
    对于第一类漏洞,Burp在检测时,会提交一下input域,然后根据应答的数据进行解析。在检测过程中,Burp会对基础的请求信息进行修改,即根据漏洞的特征对参数进行修改,模拟人的行为,以达到检测漏洞的目的。 对于第二类漏洞,一般来说检测比较困难,因为是发生在服务器侧。比如说SQL注入,有可能是返回数据库错误提示信息,也有可能是什么也不反馈。Burp在检测过程中,采用各个技术来验证漏洞是否存在,比如诱导时间延迟、强制修改Boolean值,与模糊测试的结果进行比较,已达到高准确性的漏洞扫描报告。

  • 2.被动扫描(PassiveScanning)

    当使用被动扫描模式时,Burp不会重新发送新的请求,它只是对已经存在的请求和应答进行分析,这对系统的检测比较安全,尤其在你授权访问的许可下进行的,通常适用于生成环境的检测。

(七)Burp repeater基本使用

Repeater是一个重放攻击器。可以在这里对数据包的参数进行修改,以此来进行请求与响应的消息验证分析。

(八)Burp Intruder的使用

工作原理:

Intruder在原始请求数据的基础上,通过修改各种请求参数,以获取不同的请求应答。每一次请求中,Intruder通常会携带一个或多个有效攻击载荷(Payload),在不同的位置进行攻击重放,通过应答数据的比对分析来获得需要的特征数据。

  1. 标识符枚举 Web应用程序经常使用标识符来引用用户、账户、资产等数据信息。例如,用户名,文件ID和账户号码。

  2. 提取有用的数据在某些场景下,而不是简单地识别有效标识符,你需要通过简单标识符提取一些其他的数据。比如说,你想通过用户的个人空间id,获取所有用户在个人空间标准的昵称和年龄。

  3. 模糊测试很多输入型的漏洞,如SQL注入,跨站点脚本和文件路径遍历可以通过请求参数提交各种测试字符串,并分析错误消息和其他异常情况,来对应用程序进行检测。由于的应用程序的大小和复杂性,手动执行这个测试是一个耗时且繁琐的过程。这样的场景,您可以设置Payload,通过Burp Intruder自动化地对Web应用程序进行模糊测试。

详细教程参考Burp Suite教程

原文地址:https://www.cnblogs.com/Tom9222/p/10852929.html