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 安装步骤
- 访问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泄露通用匹配
((?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})['\"\])
五、最佳实践建议
-
规则优化:
- 根据目标系统特性调整规则
- 定期更新云服务提供商的新密钥格式
- 结合业务特点添加自定义关键字
-
测试流程整合:
- 在被动扫描阶段启用HaE
- 重点关注响应数据中的敏感信息
- 对标记结果进行人工验证
-
性能考量:
- 复杂正则可能影响BurpSuite性能
- 合理设置排除后缀减少无效匹配
- 根据测试阶段动态调整规则集
六、总结
HaE作为BurpSuite的强力辅助工具,通过精心设计的正则规则,能够高效识别Web应用中的敏感信息泄露问题。随着企业上云趋势加速,AccessKey等云凭据泄露已成为常见高危漏洞。掌握HaE的高级用法,安全人员可以:
- 快速定位关键敏感数据
- 系统化梳理信息泄露风险
- 显著提升渗透测试效率
- 建立持续改进的检测机制
建议安全团队根据自身业务特点,在提供的规则模板基础上进一步优化,形成适合自身需求的检测体系。