Files
HaE/README.md
2020-03-24 18:15:37 +08:00

160 lines
3.5 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# HaE - 信息高亮与提取者
## 前言
HaEHighlight and Extractor是基于MarkINFO插件地址https://github.com/gh0stkey/BurpSuite-Extender-MarkInfo )的基础进行重构。
用处:
- 高亮标记请求,针对高亮的请求进行深度挖掘
- 敏感信息泄露发现
## 设计想法
语言Python
![-w902](images/15845160387850.jpg)
功能:
- 自定义正则
- 自定义高亮颜色
- 自定义高亮或提取
## 设计过程
### 可视化界面
UI设计基于Eclipse可视化设计基于Java Swing
![-w1143](images/15845162741518.jpg)
然后将Java代码转换为Python代码即可**有很多坑~**
使用BurpSuite接口`ITab`创建Tab
![-w1276](images/15845160114052.jpg)
### 高亮颜色
将BurpSuite的所有高亮颜色集成仅支持`red, orange, yellow, green, cyan, blue, pink, magenta, gray`
![-w96](images/15844769689459.jpg)
![-w518](images/15845164967615.jpg)
### 配置文件格式
选用JSON格式格式为
```
name: {"regex": regexText, "highlight": isHighlight, "extract": isExtract, "color": colorText}
```
### 颜色优先级和升级
定义Colors变量
`colors = ['red', 'orange', 'yellow', 'green', 'cyan', 'blue', 'pink', 'magenta', 'gray']`
利用下标的方式进行优先级排序当满足2个同颜色条件则以优先级顺序上升颜色。例如**两个正则,颜色为橘黄色,该请求两个正则都匹配到了,那么将升级为红色**
## 使用方法
贴一些案例,仅供参考,还有更多玩法,可以自我琢磨~
### 环境设置
进入Extender - Options - Python Environment
![-w840](images/15845168078333.jpg)
载入Jython的Jar包以及载入python的包路径。
加载插件选择HaE.py文件
![-w858](images/15845168915243.jpg)
加载成功:
![-w743](images/15845169108559.jpg)
### RUN IT
#### 添加自定义正则
```
名字Email
正则:[\\w-]+(?:\\.[\\w-]+)*@(?:[\\w](?:[\\w-]*[\\w])?\\.)+[\\w](?:[\\w-]*[\\w])?
高亮颜色red
是否高亮和提取:是
```
转到HaE标签页进行设置点击Add按钮即可添加
![-w1278](images/15845171413470.jpg)
HaE - Config查看是否进行配置点击Reload按钮
![-w1277](images/15845172203307.jpg)
#### 高亮请求
在Proxy - HTTP History中可以看见高亮请求响应标签页中含有`MarkINFO`标签,其中将匹配到的邮箱提取了出来
![-w1268](images/15845175423506.jpg)
#### 正则优化参考Demo
在正则匹配手机号、身份证号码的时候(纯数字类)会存在一些误报(这里匹配身份证号码无法进行校验,误报率很高),但手机号处理这一块可以解决:
原正则:
```
(1[3-9]\d{9})
```
误报场景:`12315188888888123`,这时候会匹配到`15188888888`,而实际上这一段并不是手机号,所以完全可以修改正则为:
```
[^0-9]+(1[3-9]\d{9})[^0-9]+
```
也就是要求匹配的手机号前后不能为0-9的数字。
## 实战用法
### CMS指纹识别
例如识别Discuz名字CMS-Discuz正则`Powered by Discuz!`高亮颜色blue
![-w1272](images/15845485039330.jpg)
Add保存到配置文件中
![-w294](images/15845485770190.jpg)
请求识别:
![-w1037](images/15845486471590.jpg)
### OSS对象存储信息泄露
名字INFO-OSS
正则:`[A|a]ccess[K|k]ey[I|i]d|[A|a]ccess[K|k]ey[S|s]ecret`
高亮颜色cyan
![-w1002](images/15845490590739.jpg)
Add保存到配置文件中
![-w482](images/15845490802944.jpg)
请求中识别并提取:
![-w1278](images/15845492243895.jpg)