Burp Unexpected_information插件二次开发教程

这篇具有很好参考价值的文章主要介绍了Burp Unexpected_information插件二次开发教程。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

Unexpected_information 是什么?

Unexpected_information是一款开源的Burp插件, 该插件的主要场景是用来辅助渗透测试工作,它可以自动的标记出请求包中的一些敏感信息、JS接口和一些特殊字段,防止我们在测试中疏忽了一些数据包,能发现平时渗透测试中忽略掉的一细节信息。

Unexpected_information的功能主要有两个:

  1. 主动拦截HTTP数据包,检测数据包内是否有敏感信息,有则高亮该行;
  2. 如果①成立,那么将会在Respone标签页下新增一个子标签页(Unexpected information)来输出相关敏感信息,效果如下:
    Burp Unexpected_information插件二次开发教程

如何使用Unexpected_information?

  1. 在Unexpected_information的Github项目地址: https://github.com/ScriptKid-Beta/Unexpected_information/releases 下载插件的Jar包文件;

  2. 在BurpSuite内导入该Jar包;
    Burp Unexpected_information插件二次开发教程

Unexpected_information 的工作原理

Unexpected_information 的工作原理是利用Burp Suite提供的IHttpListener接口进行操作,该接口的作用是用于监听和处理HTTP请求和响应。当用户进行HTTP请求时,插件会自动拦截下来所有数据包,并逐个检测数每个响应包内是否包含敏感信息,然后放行数据。

高亮功能介绍

插件已经默认集成好了如下4类敏感信息的检测规则,检测项目和颜色映射表如下:

敏感信息 颜色 示例
邮箱
黄色
test@vip.com
内网IP
红色
10.0.0.1
手机号码
绿色
15888195401
身份证号码
绿色
130184195606039730
其他
灰色

二次开发介绍

插件只是集成了4类敏感信息的检测规则,可能并不能满足所有人的工作需求,比如说有人想检测shiro反序列化漏洞的话,就会去先去检测cookie中有没有rememberMe字段,还有人做信息采集时,会把响应包内的所有接口路径都记录下来......这些插件都不能满足,所以我下面我来介绍如何对Unexpected_information进行二次开发,来实现自己想要的效果。

如何插入想要的功能 ?

  1. 先下载代码,看一下项目目录结构:
    Burp Unexpected_information插件二次开发教程
    项目内主要就是两个java代码文件:

    • BurpExtender.java 是注册插件的主文件;
    • Re.java 是用来编写自己的正则规则文件;
  2. 先编写出你想匹配出的数据的正则规则,下面以一个身份证匹配举例;
    Burp Unexpected_information插件二次开发教程

    • 将Re.java文件内43-53段行代码函数复制下来,然后粘贴到任意一个空行即可。
    • 将你写好的正则匹配规则,在45行位置替换这个原来的正则规则;
  3. 在BurpExtender.java的 processHttpMessage函数内调用②写好的规则;
    Burp Unexpected_information插件二次开发教程

    • BurpExtender.java 内 processHttpMessage函数 88-90行复制到下一行,然后修改Re.X, X就是你②命名的函数;

项目打包介绍

  1. 安装Maven软件;
  2. 在项目的根目录下创建一个pom.xml文件,内容如下:
    <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
             xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
        <modelVersion>4.0.0</modelVersion>
        <groupId>org.example</groupId>
        <artifactId>Your Name</artifactId>
        <version>1.0-SNAPSHOT</version>
        <name>Archetype - Your Name</name>
        <url>http://maven.apache.org</url>
    
        <dependencies>
            <!-- https://mvnrepository.com/artifact/net.portswigger.burp.extender/burp-extender-api -->
            <dependency>
                <groupId>net.portswigger.burp.extender</groupId>
                <artifactId>burp-extender-api</artifactId>
                <version>1.7.13</version>
            </dependency>
        </dependencies>
    
        <build>
            <plugins>
                <plugin>
                    <groupId>org.apache.maven.plugins</groupId>
                    <artifactId>maven-assembly-plugin</artifactId>
                    <executions>
                        <execution>
                            <phase>package</phase>
                            <goals>
                                <goal>single</goal>
                            </goals>
                        </execution>
                    </executions>
                    <configuration>
                        <descriptorRefs>
                            <descriptorRef>jar-with-dependencies</descriptorRef>
                        </descriptorRefs>
                    </configuration>
                </plugin>
                <plugin>
                    <groupId>org.apache.maven.plugins</groupId>
                    <artifactId>maven-compiler-plugin</artifactId>
                    <configuration>
                        <source>8</source>
                        <target>8</target>
                    </configuration>
                </plugin>
            </plugins>
        </build>
    
    </project>
    
  3. 在终端进入项目根目录,执行命令:
      mvn clean install
    

Reference

Unexpected_information的Github项目地址: https://github.com/ScriptKid-Beta/Unexpected_information文章来源地址https://www.toymoban.com/news/detail-706485.html

到了这里,关于Burp Unexpected_information插件二次开发教程的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • QGIS二次开发六:VS不借助QT插件创建UI界面

    上一篇博客我们说了在VS中如何使用QT插件来创建UI界面,但是我们二次开发QGIS的第一篇博客就说了,最好使用OSGeo4W中自动下载的QT进行QGIS二次开发,这样兼容性是最好的,那么该如何在VS中不使用外部安装的QT以及QT的VS插件情况下进行UI界面的创建和使用呢? 如果你仔细看完

    2024年02月13日
    浏览(39)
  • 【CAD二次开发】给CAD添加TRUSTEDPATHS避免dll插件信任弹窗

    找到配置文件目录,遍历下面的每个配置文件; 找到 Variables 下的 TRUSTEDPATHS 项目;在后面添加新的目录即可,多个目录使用分号分隔;

    2024年02月07日
    浏览(45)
  • WPS二次开发专题:Gradle版本、AGP插件与Java版本的对应关系

     作者持续关注WPS二次开发专题系列,持续为大家带来更多有价值的WPS开发技术细节,如果能够帮助到您,请帮忙来个一键三连,更多问题请联系我(QQ:250325397) 最近有体验SDK的同学反馈接入SDK出现报错,最终定位到原因为接入的宿主app项目的gradle版本过低导致,SDK兼容支持

    2024年04月11日
    浏览(45)
  • CloudCompare 二次开发(6)——插件中拖拽添加Qt窗口(区域生长算法为例)

    本文由CSDN点云侠原创,原文链接。爬虫网站自重。   手动拖拽的方式搭建Qt对话框界面的制作流程,以PCL中的点云区域生长算法为例进行制作。 1、将 ....pluginsexample 路径下的 ExamplePlugin 复制一份并修改名字为 CCPointCloudProcess 。 2、创建窗口UI文件 使用任意Qt工程新建对话

    2023年04月11日
    浏览(56)
  • 【Burp系列】Burp插件xssValidator的安装及使用

    1.1 下载Phantomjs 下载地址:http://phantomjs.org/download.html 下载后配置环境变量,把bin目录下的这个exe加入环境变量.如图: 1.2 xss.js下载和配置 xss.js是phantomJS检测xss 漏洞payload的具体实现。下载地址为:https://github.com/nVisium/xssValidator 下载完成后,将xss.js放在phantomjs同一个文件夹下

    2024年02月04日
    浏览(34)
  • burp插件分享1

    Autorize —— 强大的越权自动化测试工具 Autorize 是一个测试权限问题的插件,可以在插件中设置一个低权限账号的  cookie ,然后使用高权限的账号去浏览所有功能,Autorize 会自动用低权限账号的 cookie 重放请求,同时也会发一个不带 cookie 的请求来测试是否可以在未登录状态

    2023年04月22日
    浏览(30)
  • SQL注入 - sqlmap联动burpsuite之burp4sqlmap++插件

    目录 sqlmap和burpsuite介绍 sqlmap4burp++介绍 sqlmap4burp++的使用 小插曲:sqlmap报错文件不存在怎么办? SqlMap sqlmap 是一款自动化检测与利用SQL注入漏洞的免费开源工具。 可用于检测利用五种不同类型的SQL注入: 布尔型盲注(Boolean-based blind)即可以根据返回页面判断条件真假的注入

    2024年03月12日
    浏览(62)
  • 使用Burp Suite和Python进行自动化漏洞挖掘—SQL测试注入插件

    每次测注入都是用burp的Intruder模块,很不方便就是批量跑批量测哪些没有过滤 懒人鹅上线,准备搞一个sql测试的插件 本篇文章代码量大,基础可以去看上一篇 测试sql基本注入的载荷,在可能有sql注入的地方发送测试包,目前只测试url中的,并可以根据错误回显判断出数据库

    2024年02月09日
    浏览(44)
  • 开发安全之:System Information Leak: External

    Overview  在调用 error_reporting() 过程中,程序可能会显示系统数据或调试信息。由 error_reporting() 揭示的信息有助于攻击者制定攻击计划。 Details 当系统数据或调试信息通过套接字或网络连接使程序流向远程机器时,就会发生外部信息泄露。 示例 1: 以下代码会将一个异常写入

    2024年01月21日
    浏览(47)
  • jq插件:jqgrid和validform的二次封装

    做久了vue和react框架项目,偶尔也需要做做原生的项目。不可否认vue的双向绑定机制确实很香,但是也是建立在原生js基础上。所以,只有做更多的原生js项目,才能更加了解vue框架的底层原理。在日常开发中,也会不可避免的会遇到原生开发的需求。这里主要介绍下jqgrid和

    2024年02月10日
    浏览(47)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包