当前位置: 首页 > news >正文

如何自定义Unexpected information规则?开发者必看的扩展指南

如何自定义Unexpected information规则?开发者必看的扩展指南

【免费下载链接】Unexpected_informationUnexpected information 是用于标记请求包中的一些敏感信息、JS接口和一些特殊字段的BurpSuite 插件。项目地址: https://gitcode.com/gh_mirrors/un/Unexpected_information

Unexpected information 是用于标记请求包中的一些敏感信息、JS接口和一些特殊字段的BurpSuite 插件。通过自定义规则,开发者可以根据实际需求灵活扩展其信息识别能力,本文将详细介绍自定义规则的完整流程。

快速了解规则定义位置 📍

规则的核心定义位于项目的src/main/java/burp/Re.java文件中,该文件包含了所有敏感信息识别的正则表达式和处理逻辑。例如手机号、身份证、IP地址等默认规则都在此处定义和实现。

自定义规则的基本步骤 🔧

1. 识别现有规则结构

Re.java中,每个信息类型都对应一个独立的静态方法,例如:

  • 手机号识别:Phone(String str)方法(Re.java)
  • 身份证识别:IdCard(String str)方法(Re.java)
  • 特殊字段识别:Password(String str)方法(Re.java)

这些方法均遵循相同的模式:定义正则表达式 → 匹配内容 → 去重处理 → 返回结果。

2. 添加新的识别方法

要添加自定义规则,只需在Re.java中新增一个静态方法,以下是添加"银行卡号识别"的示例:

// 银行卡号匹配 public static String BankCard(String str){ ArrayList<String> cards = new ArrayList<>(); String is_bankcard = "\\b(?:\\d{16}|\\d{19})\\b"; // 16位或19位卡号 Matcher matcher = Pattern.compile(is_bankcard).matcher(str); while (matcher.find()){ cards.add(matcher.group()); } List<String> cards_rd = Re.removeDuplicate(cards); return StringUtils.strip(cards_rd.toString(),"[]"); }

3. 在UI中显示识别结果

修改BurpExtender.java中的setMessage方法,添加新规则的结果展示逻辑:

String bankcard = Re.BankCard(new String(content)); if (bankcard.length() != 0) { Text += "Exists bankcard information: " + bankcard + '\n' + '\n'; }

4. 编译与安装插件

完成代码修改后,使用项目根目录下的gradlew命令重新编译插件:

./gradlew build

编译成功后,在BurpSuite的Extender模块中加载生成的JAR文件,如图所示:

图:在BurpSuite中加载自定义规则后的Unexpected information插件

规则生效验证方法 ✅

安装自定义规则后,可以通过以下步骤验证效果:

  1. 发送包含目标信息的请求包
  2. 在BurpSuite的HTTP历史记录中选择请求
  3. 切换到"Unexpected information"标签页查看识别结果

例如,当请求包中包含手机号信息时,插件会自动标记并显示识别结果:

图:Unexpected information插件识别手机号信息的效果

高级规则优化技巧 💡

1. 正则表达式优化

  • 使用非捕获组(?:...)提高匹配效率
  • 添加边界符\b避免部分匹配(如防止"138001380001"被识别为手机号)
  • 针对复杂模式使用正则注释(?#comment)提高可读性

2. 性能优化建议

  • 对频繁使用的正则表达式进行预编译
  • 对大文件采用分段匹配策略
  • 使用removeDuplicate方法(Re.java)去除重复结果

3. 多规则组合应用

通过组合多个规则实现复杂场景识别,例如:

if (Re.Phone(str).length() > 0 && Re.Email(str).length() > 0) { // 同时包含手机号和邮箱时的特殊处理 }

常见问题解决 🚩

Q: 自定义规则不生效怎么办?

A: 检查以下几点:

  1. 方法是否添加到Re.java并正确引用
  2. 正则表达式是否存在语法错误
  3. BurpExtender.java中是否添加了结果展示逻辑
  4. 重新编译并确保加载的是最新JAR文件

Q: 如何识别JS接口中的特殊路径?

A: 可以参考Path(String str)方法(Re.java)的实现,通过正则提取URL路径:

图:插件识别JS接口路径的效果展示

总结

通过修改src/main/java/burp/Re.javasrc/main/java/burp/BurpExtender.java文件,开发者可以轻松扩展Unexpected information的信息识别能力。无论是添加新的敏感信息类型,还是优化现有正则表达式,自定义规则都能帮助你更精准地捕获请求包中的关键信息。赶快尝试定制属于你的规则库吧!

【免费下载链接】Unexpected_informationUnexpected information 是用于标记请求包中的一些敏感信息、JS接口和一些特殊字段的BurpSuite 插件。项目地址: https://gitcode.com/gh_mirrors/un/Unexpected_information

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

http://www.jsqmd.com/news/1322866/

相关文章:

  • Windows 11优化调整终极指南:不装第三方软件的系统定制教程
  • Tableau Web Data Connector常见问题解答:解决CORS、数据限制与兼容性难题
  • Keycloak角色管理实战指南:从权限混乱到精细控制
  • Hive数据操作核心:INSERT INTO与INSERT OVERWRITE的深度解析与实战避坑
  • LabClaw:一行指令搞定科研环境部署,让复现不再“吃虾”
  • GPT-OSS-20B战略部署:企业级大模型本地化架构与实践指南
  • vagrant-docker-compose完全指南:从安装到高级配置的10个实用技巧
  • 肇庆MA甲醛检测公司公共卫生检测如何选:安鑫母婴甲醛检测标准、流程、避坑指南 - 信誉隆金银铂奢回收
  • 荆州MA甲醛检测公司公共卫生检测如何选:安鑫母婴甲醛检测标准、流程、避坑指南 - 信誉隆金银铂奢回收
  • 潮州MA甲醛检测公司公共卫生检测如何选:安鑫母婴甲醛检测标准、流程、避坑指南 - 信誉隆金银铂奢回收
  • Rust开发者必备工具:cargo-about常见问题与解决方案
  • CPPS线上培训 - 众智商学院cppm官方
  • 网络安全技术学习指南:从基础到实战
  • 10分钟上手kubeadm-ha:单节点Kubernetes环境搭建超简单步骤
  • FitGirl游戏启动器:一站式游戏管理工具终极指南
  • LaTeX2AI:在Illustrator中优雅创作数学公式的终极解决方案
  • 5个实用技巧:用Taste-Skill打造独具品味的AI设计作品
  • ReBeL核心架构解析:Python与C++混合实现的高效训练系统
  • 2026宠物食品品牌口碑构建全指南:正规专业发稿公司盘点,选型避坑攻略及一站式服务详解 - 商业大观
  • 如何构建智能调试架构:提升开发效率的3种实践
  • 承德MA甲醛检测公司公共卫生检测如何选:安鑫母婴甲醛检测标准、流程、避坑指南 - 信誉隆金银铂奢回收
  • 华为OD机试新系统真题【语义化版本号对比】
  • FUSE-T:3步轻松实现macOS安全文件系统的高效解决方案
  • AI一键生成漫画PPT:通义千问Qwen-Image-2.0颠覆视觉内容创作
  • 【AI病虫害检测实战指南】:20年农技专家亲授3大落地陷阱与5步精准部署法
  • Python Minifier原理深度剖析:代码压缩背后的AST转换技术
  • Vue 3封装Canvas思维导图组件:从原理到工程实践
  • H3C网络设备入门:从Comware系统到VLAN、路由与NAT配置实战
  • 构建实时情感识别系统:从零到一的实践指南
  • 池州MA甲醛检测公司公共卫生检测如何选:安鑫母婴甲醛检测标准、流程、避坑指南 - 信誉隆金银铂奢回收