多功能渗透神器--BurpSuite(2)

liudao  2328天前

图片.png

0x00 前言


上篇文章讲了下BurpSuite的入门使用,这篇讲下Burp的进阶篇,以及一部分小技巧。


0x01 BurpSuite Spider模块


Burp Spider 是一个映射 web 应用程序的工具。它使用多种智能技术对一个应用程序的内容和功能进行全面的清查。

Burp Spider 通过跟踪 HTML 和 JavaScript 以及提交的表单中的超链接来映射目标应用程序,它还使用了一些其他的线索,如目录列表,资源类型的注释,以及 robots.txt 文件。结果会在站点地图中以树和表的形式显示出来,提供了一个清楚并非常详细的目标应用程序视图。

Burp Spider 能使你清楚地了解到一个 web 应用程序是怎样工作的,让你避免进行大量的手动任务而浪费时间,在跟踪链接,提交表单,精简 HTML 源代码。可以快速地确人应用程序的潜在的脆弱功能,还允许你指定特定的漏洞,如 SQL 注入,目录遍历。


1 环境准备

  • 启动 BurpSuite,点击 Next 一直出现 start burp 为止。

  • 打开 Firefox 浏览器,点击右上角的按钮进入首选项设置页面,在高级设置里面点击网络标签,点击设置,点击手动配置代理按钮进行手动设置。

此处输入图片的描述

  • 在 BurpSuite 中点击 Proxy 标签,在子标签中点击 Options 标签,启用 127.0.0.1:8080 进行代理。

此处输入图片的描述

2 Spider 模块操作体验

进入 proxy 标签,设置拦截模式为 off,返回 firefox 浏览器,打开 www.sccnn.com

此处输入图片的描述

返回 BurpSuite,打开 prxoy 标签的拦截功能,刷新素材中国网站。BurpSuite 会弹出此页面。

此处输入图片的描述

点击右键,选择 send to spider 选项,开始进行 spider 爬取。

此处输入图片的描述

进入 spider 标签我们会发现已经开始进行了扫描。回到 target 标签,我们看到关于 www.sccnn.com 的一些目录和页面被我们扫描出来了。

此处输入图片的描述

此处输入图片的描述

点击 Spider is running 按钮会将 spider 操作进行停止。进入 option 标签,我们会看到一些基本的设置。

此处输入图片的描述

3 功能说明

  • check robots.txt:检测 robot.txt 文件。选择后 BurpSpider 会要求和处理 robots.txt 文件,提取内容链接。

  • Detect custom "not found" responese:检测自定义的'notfound'响应。打开后 BurpSpider 会从每个域请求不存在的资源,编制指纹与诊断 “notfound” 响应其它请求检测自定义 “notfound” 的响应。

  • ignore links to non-textcontent:忽略非文本内容的连接。这个选项被选中,Spider 不会请求非文本资源。使用这个选项,会减少 spidering 时间。

  • request the root ofalldirectories:请求所有的根目录。如果这个选项被选中,Burp Spider 会请求所有已确认的目标范围内的 web 目录,如果在这个目标站点存在目录遍历, 这选项将是非常的有用。

  • make a non-parameterized requesttoeachdynamicpage:对每个动态页面进行非参数化的请求。如果这个选项被选中,Burp Spider 会对在范围内的所有执行动作的 URL 进行无参数的 GET 请求。如果期待的参数没有被接收, 动态页面会有不同的响应,这个选项就能成功地探测出额外的站点内容和功能。

  • Maximum link depth:这是 Burp Suite 在种子 URL 里的浏览”hops” 的最大数。0 表示让 Burp Suite 只请求种子 URL。如果指定的数值非常大,将会对范围内的链接进行无限期的有效跟踪。将此选项设置为一个合理的数字可以帮助防止循环 Spider 在某些种类的动态生成的内容。

  • Maximum parameterized requests per URL:请求该蜘蛛用不同的参数相同的基本 URL 的最大数目。将此选项设置为一个合理的数字可以帮助避免爬行 “无限” 的内容。

    此处输入图片的描述

    --Passively spider as you browse: 如果这个选项被选中,Burp Suite 会被动地处理所有通过 Burp Proxy 的 HTTP 请求,来确认访问页面上的链接和表格。使用这个选项能让 Burp Spider 建立一个包含应用程序内容的详细画面,甚至此时你仅仅使用浏览器浏览了内容的一个子集,因为所有被访问内容链接到内容都会自动地添加到 Suite 的站点地图上。

  • link depth to associate with proxy requests: 这个选项控制着与通过 Burp Proxy 访问的 web 页面 有关的” link depth”。为了防止 Burp Spider 跟踪这个页面里的所有链接,要设置一个比上面 选项卡里的” maximum link depth” 值还高的一个值。

    此处输入图片的描述

  • Number of threads - 设置请求线程。控制并发请求数。

  • Number of retries on network failure - 如果出现连接错误或其他网络问题,Burp 会放弃和移动之前重试的请求指定的次数。测试时间歇性网络故障是常见的,所以最好是在发生故障时重试该请求了好几次。

  • Pause before retry - 当重试失败的请求,Burp 会等待指定的时间(以毫秒为单位)以下,然后重试失败。如果服务器宕机,繁忙,或间歇性的问题发生,最好是等待很短的时间,然后重试。

  • Throttle between requests:在每次请求之前等待一个指定的延迟(以毫秒为单位)。此选项很有用,以避免超载应用程序,或者是更隐蔽。

  • Add random variations to throttle:添加随机的变化到请求中。增加隐蔽性。


0x02BurpSuite intruder 模块


Burp Intruder 是一个强大的工具,用于自动对 Web 应用程序自定义的攻击,Burp Intruder 是高度可配置的,并被用来在广范围内进行自动化攻击。你可以使用 Burp Intruder 方便地执行许多任务,包括枚举标识符,获取有用数据,漏洞模糊测试。合适的攻击类型取决于应用程序的情况,可能包括:缺陷测试:SQL 注入,跨站点脚本,缓冲区溢出,路径遍历;暴力攻击认证系统;枚举;操纵参数;拖出隐藏的内容和功能;会话令牌测序和会话劫持;数据挖掘;并发攻击;应用层的拒绝服务式攻击


1 环境准备

  • 启动 BurpSuite,点击 Next 一直出现 start burp 为止。

  • 打开 Firefox 浏览器,点击右上角的按钮进入首选项设置页面,在高级设置里面点击网络标签,点击设置,点击手动配置代理按钮进行手动设置。

此处输入图片的描述

  • 在 BurpSuite 中点击 Proxy 标签,在子标签中点击 Options 标签,启用 127.0.0.1:8080 进行代理。

此处输入图片的描述

2 部署并设置 dvwa 环境

  • 按照以下步骤部署 dvwa 到实验环境中:
$ wget http://labfile.oss.aliyuncs.com/courses/645/dvwa_deploy.tar.gz
$ tar -zxvf dvwa_deploy.tar.gz
$ sudo apt-get update 
$ ./deploy.sh
  • 接着打开浏览器,在地址栏输入 localhost/dvwa/setup.php 访问初始设定页面,点击图中的按钮初始化数据库。

此处输入图片的描述

  • 初始化成功后的结果如下:

此处输入图片的描述

  • 初始化之后,页面将跳转到登录页,输入默认用户名 admin 和密码 password 登入系统。

此处输入图片的描述

  • 下一步需要设置 dvwa 系统的难度级别,由于它是一个专门的演练系统,因此针对不同的使用场景设计了 4 种攻击难度级别:
难度级别说明
Low低难度,系统未采取任何安全防御措施
Medium中级难度,系统有一定的防御手段,但仍然可被利用
High难度提升,有更强力的安全措施,但仍有可利用的弱点
Impossible几乎没有任何可利用的漏洞,可用来当做对比的正确范本
  • 登入系统后,点击 DVWA Security 选项即可看到设置页面。将难度设置为 low 之后,点击 submit 让设置生效。有兴趣的同学也可以设置中高难度来学习和练习一些 passby 技巧。

    -注意:需为文件分配权限后点击 submit 才能完成修改。

chmod -R 777 /var/www/html/dvwa/

此处输入图片的描述

3 爆破功能测试

3.1 漏洞利用 LOW

暴力破解

  • 因为 Burp 无法抓取本地包,所以我们不能使用 localhost 或 127.0.0.1 这样来访问网站抓包破解。先看看 ubuntu 的 ip 地址是多少,这里实验机的是192.168.42.2,所以首先我们使用[http://192.168.42.2/dvwa/](http://192.168.42.2/dvwa/) 登录网站后选择 low 级别后,再来到 Brute Force。

  • 查看 ip 地址:

此处输入图片的描述

  • Brute Force

此处输入图片的描述

  • 我们的目的就是对这个页面的密码进行暴力破解得到正确的密码。

  • 先来看看 low 级别的服务端代码:

<?php
if( isset( $_GET[ 'Login' ] ) ) {
    // Get username
    $user = $_GET[ 'username' ];
    // Get password
    $pass = $_GET[ 'password' ];
    $pass = md5( $pass );
    // Check the database
    $query  = "SELECT * FROM `users` WHERE user = '$user' AND password = '$pass';";
    $result = mysql_query( $query ) or die( '<pre>' . mysql_error() . '</pre>' );
    if( $result && mysql_num_rows( $result ) == 1 ) {
        // Get users details
        $avatar = mysql_result( $result, 0, "avatar" );
        // Login successful
        $html .= "<p>Welcome to the password protected area {$user}</p>";
        $html .= "<img src=\"{$avatar}\" />";
    }
    else {
        // Login failed
        $html .= "<pre><br />Username and/or password incorrect.</pre>";
    }
    mysql_close();
}
?>
  • 可以看到,服务器只是验证了参数 Login 是否被设置(isset 函数在 php 中用来检测变量是否设置,该函数返回的是布尔类型的值,即 true/false),没有任何的防爆破机制,且对参数 username、password 没有做任何过滤,存在明显的 sql 注入漏洞。

  • 接下来就准备进行暴力破解!

  • 一切准备就绪后,在页面登录框中输入帐号 admin 密码 123,并点击 login。这时候可以看到页面一直未响应,而且在 burp 的 Proxy 下的 intercept 选项下抓到了请求包。

此处输入图片的描述

  • 然后使用快捷键 ctrl+i (先得选中抓到的包内容再按快捷键) 将 Burp 抓到的包送到 Intruder 模块,这个模块用来暴力破解的。点击 Burp 上的 Intruder 就来到了该模块,在 Positions 下可以看见发送过来的包。

此处输入图片的描述

  • 可以看到在 intruder 模块里,给很多变量的值加上了两个 $$ 符号,加上 $$ 符号的意思就是要爆破该变量,在这里我们已知用户名为 admin,所以我们只需要爆破密码,就要把一些不相关的变量清除。点击 Burp 右边的 Clear$ ,然后选中 password 后面的 123 再点击 Add$ ,给 password 增加两个 $$ 符号用来声明等下爆破该变量。

此处输入图片的描述

  • 接下来需要准备一个密码本用来爆破,网上有很多密码本,大家可以自行测试,这里可以简单准备一个密码本,每行一个密码,保存为 txt 格式。

此处输入图片的描述

  • 然后再来到 Payloads 选项下,在下图 1 处载入密码本,然后在 2 出点击 start attck ,即可开始暴力破解。

此处输入图片的描述

  • 免费版本会提示这个弹框,但是不影响使用,希望大家使用收费版本。

  • 破解结果如下图 3 处,可以看到密码为 password 时,响应长度为 5329 与其他的密码的响应长度不一样,所以可以确定正确的密码就是 password 了。

此处输入图片的描述

  • 这个时候返回 Proxy 选项下将点击一下 Intercept is on 将其设置为 Intercept is off,这样就暂时关闭 Burp 代理了。

此处输入图片的描述

  • 在浏览器中使用 admin 和 password 登录成功。

此处输入图片的描述


0x03 BurpSuite 之 Decoder 模块使用


Burp Decoder 是 Burp Suite 中一款编码解码工具,将原始数据转换成各种编码和哈希表的简单工具,它能够智能地识别多种编码格式采用启发式技术。



1 环境准备

  • 启动 Burpsuite,点击 Next 一直出现 start burp 为止。

  • 打开 Firefox 浏览器,点击右上角的按钮进入首选项设置页面,在高级设置里面点击网络标签,点击设置,点击手动配置代理按钮进行手动设置。

此处输入图片的描述

  • 在 BurpSuite 中点击 Proxy 标签,在子标签中点击 Options 标签,启用 127.0.0.1:8080 进行代理。

此处输入图片的描述

2 模块介绍

  • Decoder 功能是我们会经常使用到的功能之一,例如在 SQL 注入的时候,我们有时候需要将类似于:空格,#,这些的转换为 URL 格式,而 Decoder 功能就很方便的提供了这项功能,或者说我们拿到一段被编码过的字符串之后不知道它是用什么加密的,该如何解密,Decoder 就可以解决这个问题,它提供的 smartdecode 功能就十分方便。

此处输入图片的描述

  • Decode as...: 解码
  • Encode as...:编码
  • Hash:散列
  • Smart decode:智能解码,Decoder 模块会逐一使用自己支持的格式尝试解码。 支持的编码解码类型有: URL,HTML。Base64,ASCII,Hex,octal,binary,GZIP。 只需要在输入框中输入想要进行编码或者解码的数据,点击 Decode 或 Encode 即可。当你不知道你想要解码的数据是采用何种方式编码时,点击 Smart decoding 进行智能解码。 并且,重要的是,对于同一段数据,可以在 Decoder 界面进行多次编码解码的转换。 此处输入图片的描述

0x04 BurpSuite 之 Scanner 模块的使用


Burp Scanner 是一个进行自动发现 web 应用程序的安全漏洞的工具。它是为渗透测试人员设计的,并且它和你现有的手动执行进行的 web 应用程序半自动渗透测试的技术方法很相似。使用的大多数的 web 扫描器都是单独运行的:你提供了一个开始 URL,单击开始, 然后注视着进度条的更新直到扫描结束,最后产生一个报告。Burp Scanner 和这完全不同,在攻击一个应用程序时它和你执行的操作紧紧的结合在一起。让你细微控制着每一个扫描的请求,并直接反馈回结果。Burp Scanner 可以执行两种扫描类型:主动扫描 (Active scanning),被动扫描 (Passive scanning)。



1 模块的说明

  • 打开 BurpSuite 的 scanner 标签界面,进入 live scanning 二级标签,我们会发现,扫描方式分为两种,一种是 LiveActiveScanning(积极扫描。当浏览时自动发送漏洞利用代码。),一种是 Live Passive Scanning(被动扫描,只会分析流量不会发送任何请求。)

  • 在 option 标签中,我们可以看到针对 Scanner 模块的一些设置。

此处输入图片的描述

此处输入图片的描述

此处输入图片的描述

此处输入图片的描述

此处输入图片的描述

此处输入图片的描述

2 模块的使用。

  • 打开 Proxy 页面的拦截功能,在 firefox 浏览器中打开 www.sccnn.com(素材中国),在 Intercept 页面中,流量被拦截。右键点击 Do an active scan,进行漏洞扫描。

此处输入图片的描述

  • 在 Scan queue 标签页中,我们可以看到当前扫描的进度。

此处输入图片的描述

  • 在进行渗透测试的过程中,我们一般选择 spider 和 scanner 一起同时进行,这样可以对我们的渗透测试提供一个很好的帮助。scanner 扫描结束后,我们可以在 issue activity 标签页中查看漏洞扫描情况,默认的黄色标识的为低危漏洞,红色的为高危或者中危漏洞。而 scanner 支持的可扫描的漏洞在 issue definitions 页面可进行查看。

此处输入图片的描述


0x05 后记


下载破解版的时候注意后门!!!

最新评论

昵称
邮箱
提交评论