该工具接收一个 URL 列表,并移除那些可能重复且指向同一网页模板的“重复”页面。
例如:
https://www.example.com/product/123
https://www.example.com/product/456
https://www.example.com/product/123?is_prod=false
https://www.example.com/product/222?is_debug=true
以上所有 URL 可能都指向同一个产品“模板”。 因此,我们的各种扫描器只需要扫描其中部分 URL 就足够了。
上述 URL 经过 UDdup 处理后的结果应为:
https://www.example.com/product/123?is_prod=false
https://www.example.com/product/222?is_debug=true
主要为了更好的(自动化)侦察过程, 减少噪音(对测试者和目标双方都是)。
查看 demo.txt(原始 URL 文件)及其结果文件 demo-results.txt。
pip install uddup
# 克隆仓库。
git clone https://github.com/rotemreiss/uddup.git
# 安装 Python 依赖。
cd uddup
pip install -r requirements.txt
uddup -u demo.txt -o ./demo-result.txt
uddup -h
允许过滤自定义路径模式。
例如,如果我们想要过滤所有以 /product 开头的路径,需要运行:
# 单个正则表达式
uddup -u demo.txt -fp "^product"
输入:
https://www.example.com/
https://www.example.com/privacy-policy
https://www.example.com/product/1
https://www.example2.com/product/2
https://www.example3.com/product/4
输出:
https://www.example.com/
https://www.example.com/privacy-policy
uddup -u demo.txt -fp "(^product)|(^category)"
欢迎 fork 仓库并提交 pull request。
想说声谢谢?:) 在 Linkedin 上给我发消息吧
| 短格式 | 长格式 | 描述 |
|---|
| -h | --help | 显示帮助信息并退出 |
| -u | --urls | 包含 URL 列表的文件 |
| -o | --output | 将结果保存到文件 |
| -s | --silent | 仅打印结果 URL |
| -fp | --filter-path | 根据给定的正则表达式过滤路径 |