HaE入门到精通:三条影响你一生的HaE规则
字数 2150 2025-08-22 12:22:15

HaE插件从入门到精通:高效Web安全测试指南

一、HaE插件概述

HaE是一款基于BurpSuite Java插件API开发的高亮标记与信息提取辅助框架,专为现代化Web应用安全测试设计。随着前后端分离开发模式的普及,测试过程中会产生大量流量数据,HaE通过自定义正则表达式匹配响应/请求报文,帮助安全人员快速定位有价值的信息,显著提高漏洞挖掘效率。

核心功能

  • 请求/响应报文高亮标记
  • 敏感信息自动提取
  • 规则化管理匹配模式
  • 数据集中展示面板

开源地址:https://github.com/gh0stkey/HaE

二、安装与基础配置

2.1 安装步骤

  1. 访问GitHub项目下载最新Release版本的HaE.jar
  2. 打开BurpSuite → Extender → Extensions → Add
  3. 选择下载的HaE.jar文件 → Next完成安装
  4. 安装成功后,BurpSuite界面将新增HaE标签页

2.2 初始配置

安装完成后,插件默认自带一条Email正则匹配规则,用于识别数据包中的电子邮件格式数据并标记颜色。

三、核心功能模块详解

3.1 Rules(规则管理)

规则管理是HaE的核心功能,通过正则表达式定义需要匹配的内容模式。

添加规则

  1. 点击Add按钮
  2. 填写规则信息:
    • Name:规则名称(建议描述性命名)
    • Regex:正则表达式(必须用()包裹提取内容)
    • Color:匹配成功后的高亮颜色
    • Scope:匹配范围(header/body/response/request)
    • Sensitive:是否区分大小写

正则表达式特殊要求

  • Java正则需用()明确标注提取内容
  • 示例:匹配Shiro应用的(rememberMe=delete)

3.2 Config(配置管理)

  1. Config Path:配置文件存储路径(通常无需修改)
  2. Exclude Suffix:排除特定后缀名的文件(如.jpg/.css等静态资源)

3.3 Databoard(数据面板)

集中展示所有匹配到的敏感信息,支持:

  • 快速检索匹配结果
  • 按规则分类查看
  • 直接跳转到原始数据包

四、高级规则配置

4.1 主流云服务AccessKey匹配规则

以下是经过优化的各云平台AccessKey识别规则:

  1. 亚马逊云(AKIA[A-Za-z0-9]{16})
  2. Google Cloud(GOOG[\w\W]{10,30})
  3. Microsoft Azure(AZ[A-Za-z0-9]{34,40}$)
  4. IBM Cloud
    • (IBM[A-Za-z0-9]{10,40})
    • ([a-zA-Z0-9]{8}(-[a-zA-Z0-9]{4}){3}-[a-zA-Z0-9]{12}$)
  5. Oracle Cloud(OCID[A-Za-z0-9]{10,40})
  6. 阿里云(LTAI[A-Za-z0-9]{12,20})
  7. 腾讯云(AKID[A-Za-z0-9]{13,20})
  8. 华为云
    • (AK[\w\W]{10,62})
    • ([A-Z0-9]{20}$)
  9. 百度云(AK[A-Za-z0-9]{10,40})
  10. 京东云(JDC_[A-Z0-9]{28,32})
  11. 火山引擎(AKLT[a-zA-Z0-9-_]{0,252})
  12. UCloud(UC[A-Za-z0-9]{10,40})
  13. 青云(QY[A-Za-z0-9]{10,40})
  14. 金山云(AKLT[a-zA-Z0-9-_]{16,28})
  15. 联通云(LTC[A-Za-z0-9]{10,60})
  16. 移动云(YD[A-Za-z0-9]{10,60})
  17. 电信云(CTC[A-Za-z0-9]{10,60})
  18. 一云通(YYT[A-Za-z0-9]{10,60})
  19. 用友云(YY[A-Za-z0-9]{10,40})
  20. 南大通用云(CI[A-Za-z0-9]{10,40})
  21. G-Core Labs(gcore[A-Za-z0-9]{10,30})

4.2 三条核心规则模板

规则1:AccessKey泄露通用匹配

((?i)((access_key|access_token|admin_pass|admin_user|algolia_admin_key|algolia_api_key|alias_pass|alicloud_access_key|amazon_secret_access_key|amazonaws|ansible_vault_password|aos_key|api_key|api_key_secret|api_key_sid|api_secret|api.googlemaps AIza|apidocs|apikey|apiSecret|app_debug|app_id|app_key|app_log_level|app_secret|appkey|appkeysecret|application_key|appsecret|appspot|auth_token|authorizationToken|authsecret|aws_access|aws_access_key_id|aws_bucket|aws_key|aws_secret|aws_secret_key|aws_token|AWSSecretKey|b2_app_key|bashrc password|bintray_apikey|bintray_gpg_password|bintray_key|bintraykey|bluemix_api_key|bluemix_pass|browserstack_access_key|bucket_password|bucketeer_aws_access_key_id|bucketeer_aws_secret_access_key|built_branch_deploy_key|bx_password|cache_driver|cache_s3_secret_key|cattle_access_key|cattle_secret_key|certificate_password|ci_deploy_password|client_secret|client_zpk_secret_key|clojars_password|cloud_api_key|cloud_watch_aws_access_key|cloudant_password|cloudflare_api_key|cloudflare_auth_key|cloudinary_api_secret|cloudinary_name|codecov_token|config|conn.login|connectionstring|consumer_key|consumer_secret|credentials|cypress_record_key|database_password|database_schema_test|datadog_api_key|datadog_app_key|db_password|db_server|db_username|dbpasswd|dbpassword|dbuser|deploy_password|digitalocean_ssh_key_body|digitalocean_ssh_key_ids|docker_hub_password|docker_key|docker_pass|docker_passwd|docker_password|dockerhub_password|dockerhubpassword|dot-files|dotfiles|droplet_travis_password|dynamoaccesskeyid|dynamosecretaccesskey|elastica_host|elastica_port|elasticsearch_password|encryption_key|encryption_password|env.heroku_api_key|env.sonatype_password|eureka.awssecretkey)[a-z0-9_.\-,]{0,25})(=|>|:=|\||: |<=|=>|:).{0,5}['\"\]([0-9a-zA-Z\-_=]{8,64})['\"\])

规则2:增强版AccessKey匹配

(['\"\](GOOG[\w\W]{10,30})['\"]|(['\"\AZ[A-Za-z0-9]{34,40}['\"])|(['\"\AKID[A-Za-z0-9]{13,20}['\"])|(['\"\AKIA[A-Za-z0-9]{16}['\"])|(['\"
$$
a-zA-Z0-9]{8}(-[a-zA-Z0-9]{4}){3}-[a-zA-Z0-9]{12}['\"])|(['\"\OCID[A-Za-z0-9]{10,40}['\"])|(['\"\LTAI[A-Za-z0-9]{12,20}['\"])|(['\"\[A-Z0-9]{20}$['\"])|(['\"\JDC_[A-Z0-9]{28,32}['\"])|(['\"\AK[A-Za-z0-9]{10,40}['\"])|(['\"\UC[A-Za-z0-9]{10,40}['\"])|(['\"\QY[A-Za-z0-9]{10,40}['\"])|(['\"\AKLT[a-zA-Z0-9-_]{16,28}['\"])|(['\"\LTC[A-Za-z0-9]{10,60}['\"])|(['\"\YD[A-Za-z0-9]{10,60}['\"])|(['\"\CTC[A-Za-z0-9]{10,60}['\"])|(['\"\YYT[A-Za-z0-9]{10,60}['\"])|(['\"\YY[A-Za-z0-9]{10,40}['\"])|(['\"\CI[A-Za-z0-9]{10,40}['\"])|(['\"\gcore[A-Za-z0-9]{10,30}['\"]))

规则3:敏感信息泄露通用匹配

((?i)((access_key|appsecret|app_secret|access_token|password|secretkey|accesskey|accesskeyid|accesskeysecret|secret_key|pwd|test_user|admin_pass|admin_user|algolia_admin_key|algolia_api_key|alias_pass|alicloud_access_key|amazon_secret_access_key|amazonaws|ansible_vault_password|aos_key|api_key|api_key_secret|api_key_sid|api_secret|api.googlemaps AIza|apidocs|apikey|apiSecret|app_debug|app_id|app_key|app_log_level|app_secret|appkey|appkeysecret|application_key|appsecret|appspot|auth_token|authorizationToken|authsecret|aws_access|aws_access_key_id|aws_bucket|aws_key|aws_secret|aws_secret_key|aws_token|AWSSecretKey|b2_app_key|bashrc password|bintray_apikey|bintray_gpg_password|bintray_key|bintraykey|bluemix_api_key|bluemix_pass|browserstack_access_key|bucket_password|bucketeer_aws_access_key_id|bucketeer_aws_secret_access_key|built_branch_deploy_key|bx_password|cache_driver|cache_s3_secret_key|cattle_access_key|cattle_secret_key|certificate_password|ci_deploy_password|client_secret|client_zpk_secret_key|clojars_password|cloud_api_key|cloud_watch_aws_access_key|cloudant_password|cloudflare_api_key|cloudflare_auth_key|cloudinary_api_secret|cloudinary_name|codecov_token|config|conn.login|connectionstring|consumer_key|consumer_secret|credentials|cypress_record_key|database_password|database_schema_test|datadog_api_key|datadog_app_key|db_password|db_server|db_username|dbpasswd|dbpassword|dbuser|deploy_password|digitalocean_ssh_key_body|digitalocean_ssh_key_ids|docker_hub_password|docker_key|docker_pass|docker_passwd|docker_password|dockerhub_password|dockerhubpassword|dot-files|dotfiles|droplet_travis_password|dynamoaccesskeyid|dynamosecretaccesskey|elastica_host|elastica_port|elasticsearch_password|encryption_key|encryption_password|env.heroku_api_key|env.sonatype_password|eureka.awssecretkey)[a-z0-9_.]{0,25})(=|>|:=|: |<=|=>|:).{0,5}['\"
$$
([0-9a-zA-Z-_=]{12,64})['\"\])

五、最佳实践建议

  1. 规则优化

    • 根据目标系统特性调整规则
    • 定期更新云服务提供商的新密钥格式
    • 结合业务特点添加自定义关键字
  2. 测试流程整合

    • 在被动扫描阶段启用HaE
    • 重点关注响应数据中的敏感信息
    • 对标记结果进行人工验证
  3. 性能考量

    • 复杂正则可能影响BurpSuite性能
    • 合理设置排除后缀减少无效匹配
    • 根据测试阶段动态调整规则集

六、总结

HaE作为BurpSuite的强力辅助工具,通过精心设计的正则规则,能够高效识别Web应用中的敏感信息泄露问题。随着企业上云趋势加速,AccessKey等云凭据泄露已成为常见高危漏洞。掌握HaE的高级用法,安全人员可以:

  1. 快速定位关键敏感数据
  2. 系统化梳理信息泄露风险
  3. 显著提升渗透测试效率
  4. 建立持续改进的检测机制

建议安全团队根据自身业务特点,在提供的规则模板基础上进一步优化,形成适合自身需求的检测体系。

HaE插件从入门到精通:高效Web安全测试指南 一、HaE插件概述 HaE是一款基于BurpSuite Java插件API开发的高亮标记与信息提取辅助框架,专为现代化Web应用安全测试设计。随着前后端分离开发模式的普及,测试过程中会产生大量流量数据,HaE通过自定义正则表达式匹配响应/请求报文,帮助安全人员快速定位有价值的信息,显著提高漏洞挖掘效率。 核心功能 : 请求/响应报文高亮标记 敏感信息自动提取 规则化管理匹配模式 数据集中展示面板 开源地址:https://github.com/gh0stkey/HaE 二、安装与基础配置 2.1 安装步骤 访问GitHub项目下载最新Release版本的HaE.jar 打开BurpSuite → Extender → Extensions → Add 选择下载的HaE.jar文件 → Next完成安装 安装成功后,BurpSuite界面将新增HaE标签页 2.2 初始配置 安装完成后,插件默认自带一条Email正则匹配规则,用于识别数据包中的电子邮件格式数据并标记颜色。 三、核心功能模块详解 3.1 Rules(规则管理) 规则管理是HaE的核心功能,通过正则表达式定义需要匹配的内容模式。 添加规则 : 点击Add按钮 填写规则信息: Name :规则名称(建议描述性命名) Regex :正则表达式(必须用 () 包裹提取内容) Color :匹配成功后的高亮颜色 Scope :匹配范围(header/body/response/request) Sensitive :是否区分大小写 正则表达式特殊要求 : Java正则需用 () 明确标注提取内容 示例:匹配Shiro应用的 (rememberMe=delete) 3.2 Config(配置管理) Config Path :配置文件存储路径(通常无需修改) Exclude Suffix :排除特定后缀名的文件(如.jpg/.css等静态资源) 3.3 Databoard(数据面板) 集中展示所有匹配到的敏感信息,支持: 快速检索匹配结果 按规则分类查看 直接跳转到原始数据包 四、高级规则配置 4.1 主流云服务AccessKey匹配规则 以下是经过优化的各云平台AccessKey识别规则: 亚马逊云 : (AKIA[A-Za-z0-9]{16}) Google Cloud : (GOOG[\w\W]{10,30}) Microsoft Azure : (AZ[A-Za-z0-9]{34,40}$) IBM Cloud : (IBM[A-Za-z0-9]{10,40}) 或 ([a-zA-Z0-9]{8}(-[a-zA-Z0-9]{4}){3}-[a-zA-Z0-9]{12}$) Oracle Cloud : (OCID[A-Za-z0-9]{10,40}) 阿里云 : (LTAI[A-Za-z0-9]{12,20}) 腾讯云 : (AKID[A-Za-z0-9]{13,20}) 华为云 : (AK[\w\W]{10,62}) 或 ([A-Z0-9]{20}$) 百度云 : (AK[A-Za-z0-9]{10,40}) 京东云 : (JDC_[A-Z0-9]{28,32}) 火山引擎 : (AKLT[a-zA-Z0-9-_]{0,252}) UCloud : (UC[A-Za-z0-9]{10,40}) 青云 : (QY[A-Za-z0-9]{10,40}) 金山云 : (AKLT[a-zA-Z0-9-_]{16,28}) 联通云 : (LTC[A-Za-z0-9]{10,60}) 移动云 : (YD[A-Za-z0-9]{10,60}) 电信云 : (CTC[A-Za-z0-9]{10,60}) 一云通 : (YYT[A-Za-z0-9]{10,60}) 用友云 : (YY[A-Za-z0-9]{10,40}) 南大通用云 : (CI[A-Za-z0-9]{10,40}) G-Core Labs : (gcore[A-Za-z0-9]{10,30}) 4.2 三条核心规则模板 规则1:AccessKey泄露通用匹配 规则2:增强版AccessKey匹配 规则3:敏感信息泄露通用匹配 五、最佳实践建议 规则优化 : 根据目标系统特性调整规则 定期更新云服务提供商的新密钥格式 结合业务特点添加自定义关键字 测试流程整合 : 在被动扫描阶段启用HaE 重点关注响应数据中的敏感信息 对标记结果进行人工验证 性能考量 : 复杂正则可能影响BurpSuite性能 合理设置排除后缀减少无效匹配 根据测试阶段动态调整规则集 六、总结 HaE作为BurpSuite的强力辅助工具,通过精心设计的正则规则,能够高效识别Web应用中的敏感信息泄露问题。随着企业上云趋势加速,AccessKey等云凭据泄露已成为常见高危漏洞。掌握HaE的高级用法,安全人员可以: 快速定位关键敏感数据 系统化梳理信息泄露风险 显著提升渗透测试效率 建立持续改进的检测机制 建议安全团队根据自身业务特点,在提供的规则模板基础上进一步优化,形成适合自身需求的检测体系。