如何使用dotdotslash检测目录遍历漏洞
字数 940 2025-08-11 08:36:31
目录遍历漏洞检测工具dotdotslash使用指南
工具概述
dotdotslash是一款功能强大的目录遍历漏洞检测工具,由安全研究员@jcesrstef开发。该工具基于Python 3编写,能够自动化检测Web应用程序中的目录遍历漏洞。
已测试平台
当前版本已在以下平台上成功测试:
- DVWA(低/中/高安全级别)
- bWAPP(低/中/高安全级别)
安装指南
环境要求
- Python 3环境
安装步骤
- 克隆项目仓库:
git clone https://github.com/jcesarstef/dotdotslash.git
- 进入项目目录并安装依赖:
cd dotdotslash
pip3 install -r requirements.txt
工具使用说明
基本命令结构
python3 dotdotslash.py [参数]
参数详解
| 参数 | 简写 | 描述 |
|---|---|---|
--help |
-h |
显示帮助信息并退出 |
--url URL |
-u URL |
设置目标URL地址 |
--string STRING |
-s STRING |
设置URL中需要测试的字符串(如document.pdf) |
--cookie COOKIE |
-c COOKIE |
设置文档Cookie |
--depth DEPTH |
-d DEPTH |
设置目录遍历深度 |
--verbose |
-v |
开启Verbose模式,显示请求详情 |
使用示例
基本用法:
python3 dotdotslash.py \
--url "http://192.168.58.101/bWAPP/directory_traversal_1.php?page=a.txt" \
--string "a.txt" \
--cookie "PHPSESSID=089b49151627773d699c277c769d67cb; security_level=3"
带深度参数的用法:
python3 dotdotslash.py -u "http://example.com/test.php?file=readme.txt" -s "readme.txt" -d 5
Verbose模式:
python3 dotdotslash.py -u "http://example.com/test.php?file=readme.txt" -s "readme.txt" -v
技术原理
dotdotslash通过向目标URL发送包含目录遍历序列(如../)的请求,尝试访问系统上的敏感文件。工具会自动尝试不同深度的遍历,并分析响应内容以判断是否存在漏洞。
注意事项
- 使用前请确保已获得目标系统的授权测试许可
- 深度参数(
--depth)应根据实际情况设置,过大会导致测试时间延长 - 某些Web应用可能需要特定的Cookie才能访问,可通过
--cookie参数提供 - Verbose模式有助于调试但会输出大量信息
项目地址
GitHub仓库:dotdotslash
最佳实践建议
- 测试前先手动验证目标URL是否可能存在目录遍历漏洞
- 从较小的深度开始测试,逐步增加
- 对于需要认证的应用,确保提供有效的会话Cookie
- 记录测试结果以便后续分析
- 测试完成后及时清理测试数据