基于实战的Burp Suite插件使用技巧

本篇文章首发于奇安信攻防社区

免责声明:

本文章仅供学习和研究使用,严禁使用该文章内容对互联网其他应用进行非法操作,若将其用于非法目的,所造成的后果由您自行承担,产生的一切风险与本文作者无关,如继续阅读该文章即表明您默认遵守该内容。

0×00前言

​ Burp Suite是一个集成化的渗透测试工具,它集合了多种渗透测试组件,使我们自动化地或手工地能更好的完成对web应用的渗透测试和攻击。在渗透测试中,我们使用Burp Suite将使得测试工作变得更加容易和方便,即使在不需要娴熟的技巧的情况下,只有我们熟悉Burp Suite的使用,也使得渗透测试工作变得轻松和高效。

Burp Suite可执行程序是java文件类型的jar文件,免费版的可以从免费版下载地址进行下载。免费版的Burp Suite会有许多限制,很多的高级工具无法使用,如果您想使用更多的高级功能,需要付费购买专业版。

0×01专业版激活

当然了,身为一个合格的安全人士,肯定会白嫖的啦。下面具体看一下专业版安装步骤。

由于Burp Suite是由Java语言编写而成,所以我们需要安装JAVA环境。点我下载

下载完成之后打开 点击安装
安装完成
打开CMD命令输入java -version到如下图就代表安装成功

如果输入命令没有看到如上图也不要紧,我们把他手动添加到环境变量

右键我的电脑(此电脑)→属性→高级系统设置→高级→环境变量→Path

把我们安装好的java目录放到Path里面 如下图

C:\Program Files (x86)\Java\jre1.8.0_101\bin

OK,完成了

接下来我们开始安装 点我下载

打开burp-loader-keygen-2020_1.jar 点击run


点击Manual activation

点击下一步,注册完成

看到这一步代表成功注册

0×02插件的环境安装

看到这里是不是已经迫不及待想要安装插件了,但是不行的,因为Burp Suite的一些插件需要依赖python或者ruby来实施,所以我们需要安装jythonjruby

点我下载jruby

点我下载jython

下载完成之后我们依次点击Extender →Options 按照提示把对应的文件路径导入进去就可以了


0×03插件使用

首先打开Extender →BApp Store 可以看到插件市场有大量的插件

这里面插件实在是太多了,实战中几乎用不到几个,接下来我们讲一下实战中实用的插件

###Shiro漏洞被动检测

描述:

Apache Shiro是美国阿帕奇(Apache)软件基金会的一套用于执行认证、授权、加密和会话管理的Java安全框架。 Apache Shiro默认使用了CookieRememberMeManager,其处理cookie的流程是:得到rememberMe的cookie值 > Base64解码–>AES解密–>反序列化。然而AES的密钥是硬编码的,就导致了攻击者可以构造恶意数据造成反序列化的RCE漏洞。

喵呜师傅写的插件,非常好用,推荐!

下载地址

下载完成之后打开burp主页面点击Extender,可以看到这里有个ADD点一下


我们的这个插件是java写的的所以选择java脚本把插件导入然后下一步

出现如下界面代表安装成功

接下来我们就可以愉快的挖洞了,由于这个插件是被动式检测,所以我们不用对它进行配置,直接开着BURP就行了,如果遇到漏洞会在Target页面显示出来,我们打开一个靶场测试一下,如下图。

tag界面查看漏洞情况

waiting for test results = 扫描shiro key 中
shiro key scan out of memory error = 扫描shiro key时,发生内存错误
shiro key scan diff page too many errors = 扫描shiro key时,页面之间的相似度比对失败太多
shiro key scan task timeout = 扫描shiro key时,任务执行超时
shiro key scan unknown error = 扫描shiro key时,发生未知错误
[-] not found shiro key = 没有扫描出 shiro key
[+] found shiro key: xxxxxx = 扫描出了 shiro key

fastjson漏洞被动检测

描述:

Fastjson 是阿里巴巴的开源JSON解析库,它可以解析 JSON 格式的字符串,支持将 Java Bean 序列化为 JSON 字符串,也可以从 JSON 字符串反序列化到 JavaBean。 Fastjson 存在反序列化远程代码执行漏洞,当应用或系统使用 Fastjson 对由用户可控的 JSON 字符串数据进行解析时,将可能导致远程代码执行的危害。

依旧是喵呜师傅的作品。点我下载

插件的安装步骤对照上面的来就行,这个插件也是被动式检测,所以我们不用对它进行配置,如果遇到漏洞会在Target页面显示出来,我们打开一个网站测试一下,如下图。

Struts2漏洞被动检测

描述:

Apache Struts是美国阿帕奇(Apache)软件基金会的一个开源项目,是一套用于创建企业级Java Web应用的开源MVC框架,存在多个远程命令执行漏洞。 攻击者可以发起远程攻击,不但可以窃取网站数据信息,甚至还可取得网站服务器控制权。而且,目前针对此漏洞的自动化工具开始出现,攻击者无需具备与漏洞相关的专业知识即可侵入服务器,直接执行命令操作,盗取数据甚至进行毁灭性操作。

插件下载地址:点我下载

插件的安装步骤对照上面的来就行,成功安装如下图。


我们用它测试一下Struts2漏洞,本地起一个漏洞环境

环境下载地址


使用这个插件也是被动式检测,所以我们不用对它进行配置直接打开BURP访问网站即可,如果扫描到漏洞会在Target页面显示出来,或者在我们点击它自己的界面展示漏洞情况,如下图。

敏感信息收集工具

描述:

HaE是基于 BurpSuite 插件 JavaAPI 开发的请求高亮标记与信息提取的辅助型插件。该插件可以通过自定义正则的方式匹配响应报文或请求报文,可以自行决定符合该自定义正则匹配的相应请求是否需要高亮标记、信息提取。

HaE插件是由gh0stkey师傅写的 特别棒的一个插件,使用简单还功能强大。

下载地址

gh0stkey在Github介绍的使用方法如下:

插件装载: Extender - Extensions - Add - Select File - Next

初次装载HaE会初始化配置文件,默认配置文件内置一个正则: Email,初始化的配置文件会放在与BurpSuite Jar包同级目录下。

除了初始化的配置文件外,还有Setting.yml,该文件用于存储配置文件路径;HaE支持自定义配置文件路径,你可以通过点击Select File按钮进行选择自定义配置文件。

出现如下界面表示安装成功

默认的Email规则

生成的规则文件

HaE支持自定义配置文件路径,你可以通过点击Select File按钮进行选择自定义配置文件。

到了这一步安装已经成功,接下来会有朋友问,我不会写规则怎么办,这些东西对我来说太难用了,不要担心,作者gh0stkey师傅贴心的准备了一个公共规则网站,里面提供了大部分常用规则,以供大家使用。地址

使用方法就是复制这些规则打开Config.yml文件复制进去然后就OK了

默认的规则
复制规则网站里面的规则然后粘贴保存(替换规则的时候记得退出burp)

打开我们的插件HaE可以发现我们的规则已经替换成功了,可以使用了



我们使用Swagger的规则来演示一下

在Proxy - HTTP History中可以看见高亮请求,响应标签页中含有Swagger UI的标签,其中将匹配到的信息提取了出来。

还有更多用法等待大家去使用。

403Bypasser

绕过 403 受限目录的 burpsuite 扩展。通过使用 PassiveScan(默认启用),这个扩展会自动扫描每个 403 请求,所以只需添加到 burpsuite 并享受。

安装

BurpSuite -> Extender -> Extensions -> Add -> Extension Type: Python -> Select file: 403bypasser.py -> Next till Finish

这个插件就是使用python编写的,这个就使用到了我们之前讲的安装jython这个插件,我们可以让burp使用python格式的插件。

看到如下界面表示安装成功(没错就是空)

好了,这样我们就可以愉快的使用了。(这个插件也是被动扫描)

我们可以看下这个插件的payload,可以发现这个插件主要功能是用来bypass403页面的,举个例子,比如我们有时候看到很多网站限制外部访问,访问的话直接显示403,我们可能改一个IP头为本地127.0.0.1我们就能绕过这个限制,这个插件可以全自动的来帮我们验证,是不是很方便。

$1/$2
$1/%2e/$2
$1/$2/.
$1//$2//
$1/./$2/./
$1/$2anything -H "X-Original-URL: /$2"
$1/$2 -H "X-Custom-IP-Authorization: 127.0.0.1"
$1 -H "X-Rewrite-URL: /$2"
$1/$2 -H "Referer: /$2"
$1/$2 -H "X-Originating-IP: 127.0.0.1"
$1/$2 -H "X-Forwarded-For: 127.0.0.1"
$1/$2 -H "X-Remote-IP: 127.0.0.1"
$1/$2 -H "X-Client-IP: 127.0.0.1"
$1/$2 -H "X-Host: 127.0.0.1"
$1/$2 -H "X-Forwarded-Host: 127.0.0.1"
$1/$2%20/
$1/%20$2%20/
$1/$2?
$1/$2???
$1/$2//
$1/$2/
$1/$2/.randomstring
$1/$2..;/


好了,目前我使用频率较高的插件已经分享完毕,还有很多好用的插件是我没有讲到的,希望大家也可以留言分享出来,接下来讲一下BURP的一些小技巧,burp是非常一个强大的渗透测试工具,我们平时做渗透使用频率最高的工具,它其实还有很多好用的功能给大家分享一下。

dnslog功能

Burp Collaborator是从Burp suite v1.6.15版本添加的新功能,也就是DNSlog,监控DNS解析记录和HTTP访问记录,在检测盲注类漏洞很好用。

首先打开Collaborator

主界面菜单项 burp - burp collaborator client 即可启用


点击copy to clipborad来复制其提供的 payload url,number to generate 是生成的数量,

我们来ping一下刚才复制的URL

可以看到BURP成功接收到我们的请求

条件竞争漏洞测试

“竞争条件”发生在多个线程同时访问同一个共享代码、变量、文件等没有进行锁操作或者同步操作的场景中。

开发者在进行代码开发时常常倾向于认为代码会以线性的方式执行,而且他们忽视了并行服务器会并发执行多个线程,这就会导致意想不到的结果。

简单的说:本来你有100块钱,买一个商品要花100,你可以多开启多个线程去跑,有可能不止一个用户买成功

“竞争条件”漏洞有时很难通过黑盒/灰盒的方法来进行挖掘,因为这个漏洞很受环境因素的影响,比如网络延迟、服务器的处理能力等。一般都会通过对代码进行审计来发现此类问题

可以使用Burp的intruder功能来实现发送多个并发请求

将请求包发送至Intruder

Intruder – Payloads – Payload Stes

Payload type设置为NUll payloads

Payload Options 次数设置100次

线程数设置最大999 ,点击Start attack

Intruder模块匹配返回包内的中文

在一些渗透测试的教程中,用Intruder模块爆破或fuzz的时候,一般只讲到了通过返回包的长度或者状态码来识别是否爆破成功/是否fuzz出我们想要的内容。

其实在Intruder->Option->Grep-Match中提供了返回包匹配内容的功能,可以通过简单的字符串或正则表达式进行内容匹配。


可以看到匹配成功的话后面会打勾

有朋友可能会问了,我要是匹配中文字符怎么办呢,演示一下匹配中文字符怎么操作。

如果要匹配中文,需要将中文转换成十六进制,使用正则匹配的方式,操作如下: 先用python把中文转成十六进制(不局限于此方法)

然后设置正则匹配模式,把十六进制添加进去

成功匹配到,大家可以动手操作一下。

结束语:BURP的功能也不止这些,大家可以多发掘一下其他功能让自己在挖洞的时候更加方便,如果有其他更好的插件和技巧也希望大家留言分享。

基于实战的Burp Suite插件使用Tips的更多相关文章

  1. Burp Suite插件推荐

    BurpSuiteHTTPSmuggler 网址 https://github.com/nccgroup/BurpSuiteHTTPSmuggler 作用 利用 中间件对 HTTP 协议的实现的特性 ...

  2. 通过Web安全工具Burp suite找出网站中的XSS漏洞实战(二)

    一.背景 笔者6月份在慕课网录制视频教程XSS跨站漏洞 加强Web安全,里面需要讲到很多实战案例,在漏洞挖掘案例中分为了手工挖掘.工具挖掘.代码审计三部分内容,手工挖掘篇参考地址为快速找出网站中可能存 ...

  3. Burp Suite渗透实战操作指南-上篇

    Burp必备知识 在介绍功能之前有必要让大家了解一些burp的常用功能,以便在使用中更好的发挥麒麟臂的优势. 1.1  快捷键 很多人可能都没用过burp的快捷键吧,位置如下,不说话,如果不顺手可以自 ...

  4. Burp Suite新手指南

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

  5. Burp Suite使用介绍

    Burp Suite使用介绍(一)  22人收藏 收藏 2014/05/01 19:54 | 小乐天 | 工具收集 | 占个座先 Getting Started Burp Suite 是用于攻击web ...

  6. kali linux Burp Suite使用教程

    设置Firefox并配置代理 配置Firefox Burp Suite包含拦截代理. 要使用Burp Suite,您必须配置浏览器以通过Burp Suite代理传递其流量. 这对于Firefox来说并 ...

  7. Burp Suite使用介绍总结

    Burp Suite使用介绍(一) 小乐天 · 2014/05/01 19:54 Getting Started Burp Suite 是用于攻击web 应用程序的集成平台.它包含了许多工具,并为这些 ...

  8. Burp Suite初探

    Burp Suite 是用于攻击web 应用程序的集成平台.它包含了许多工具,并为这些工具设计了许多接口,以促进加快攻击应用程序的过程. 一.安装部署 需要配置java环境,首先安装java,然后配置 ...

  9. Burp Suite 入门教程(BURP SUITE TUTORIAL )

    参考链接1:https://www.pentestgeek.com/what-is-burpsuite 参考链接2:https://www.pentestgeek.com/web-applicatio ...

  10. 渗透工具Burp Suite浅析

    Burp suite是一款Web安全领域的跨平台工具,基于Java开发.它集成了很多用于发现常见Web漏洞的模块,如Proxy,Spider,Scanner,Intruder,Repeater等.所有 ...

随机推荐

  1. 记一次用arthas排查jvm中CPU占用过高问题

    记一次使用arthas排查jvm中CPU占用过高问题.这工具屌爆了 碾压我目前使用的全部JVM工具. 安装 小试 curl -O https://arthas.aliyun.com/arthas-bo ...

  2. Hadoop集群运行

    在Hadoop文件参数配置完成之后 在master上操作 su - hadoop cd /usr/local/src/hadoop/ ./bin/hdfs namenode -format hadoo ...

  3. Enable_hint_table 使用

    KingbaseES enable_hint_table 可以看成类似 oracle outline 工具,可以在不修改SQL 的情况下,通过hint 改变SQL 的执行计划. 一.启用enable_ ...

  4. 在Yarn集群上跑spark wordcount任务

    准备的测试数据文件hello.txt hello scala hello world nihao hello i am scala this is spark demo gan jiu wan le ...

  5. C语言输入输出格式符

    C语言输入输出格式符 printf函数(格式输出函数) 1.一般格式 printf(格式控制,输出表列) 例如:printf("i=%d,ch=%c\n",i,ch); 说明: ( ...

  6. Git将本地仓库上传到github

    这里采用简单的描述,提供两种方式: 一.连接本地文件夹和远程仓库 1.使用pull--拉取github项目文件 (1)进入到自己要上传的文件夹内部,然后git bash here (2)输入命令 gi ...

  7. Jetbrains家的软件都可用的激活码-pycharm

    网址:http://vrg123.com/ 步骤: 1,关注下方的公众号 2,点击菜单中的"激活密钥" 3,点击进入,获得网站密钥 4,在网站上输入网站密钥,点击获取,即可获取激活 ...

  8. SECS半导体设备通讯-4 GEM通信标准

    一 概述 GEM标准定义了通信链路上的半导体设备的行为. SECS-II标准定义了在主机和设备之间交换的消息和相关数据项.GEM标准则定义了在哪种情况下应该使用哪些SECS-II消息以及由此产生的结果 ...

  9. 洛谷U81904 【模板】树的直径

    有负边权,所以用树形DP来找树的直径. 1 //树形DP求树的直径 2 #include<bits/stdc++.h> 3 using namespace std; 4 const int ...

  10. DDD-领域驱动(三)-聚合与聚合根

    概念 高内聚 , 高内聚合Aggregate 就好比一个功能,各个模块互相是有依赖关系存在,例如: 低耦合:模块可以任意替换,不会影响系统的工作 例如:比如你今天穿了这套衣服,明天穿了另一套衣服,但你 ...