Uniscan 在 Kali 2023+ 中无法运行是因依赖 Python 2 而系统默认为 Python 3;需安装 python2、手动安装 requests/pycurl 依赖,并用 python2 显式调用 uniscan.pl;-qweds 参数中仅 -e/-d 涉及 PHP 文件探测,但字典陈旧且不支持子目录与 403 响应识别,建议结合 ffuf、curl 和 whatweb 等工具协同分析。

Uniscan 在 Kali 中跑不起来?先确认 Python 版本和依赖
Uniscan 是一个基于 Python 2 的老工具,Kali 2023+ 默认已弃用 Python 2,直接运行 uniscan 会报 command not found 或 ImportError: No module named urllib2。这不是配置问题,是环境不兼容。
实操建议:
立即学习“PHP免费学习笔记(深入)”;
- 检查当前 Python 主版本:
python --version(大概率是 3.x) - 安装 Python 2 并设为临时默认:
sudo apt install python2 && sudo update-alternatives --install /usr/bin/python python /usr/bin/python2 1 - 手动装依赖:
sudo python2 -m pip install requests pycurl(urllib2内置,不用额外装) - 启动时显式调用:
python2 /usr/share/uniscan/uniscan.pl -u http://target.com -qweds(注意是.pl文件,不是可执行命令)
为什么 -qweds 扫不出 PHP 文件泄露或 LFI?参数含义要对齐目标
Uniscan 的扫描模式高度依赖参数组合,-q(quick)、-w(web content)、-e(file enumeration)、-d(directory check)、-s(subdomain)各自触发不同行为。PHP 相关漏洞(如 phpinfo.php、config.php.bak、?file=../../etc/passwd)主要靠 -e 和 -d,但默认字典极旧且不含常见 PHP 备份后缀。
实操建议:
立即学习“PHP免费学习笔记(深入)”;
- 替换或扩展现有字典:
/usr/share/uniscan/wordlist/directory.lst加入phpinfo.php、config.php~、index.php.swp等 - 手动测试 LFI:Uniscan 不自动 fuzz 参数,得自己拿
curl配合ffuf或gau提取参数后做 payload 注入 -
-e模式只扫根路径,若目标用子目录部署 PHP(如http://site.com/app/),需加-r /app/指定路径
扫出来一堆 403/404 却漏掉真实 PHP 敏感文件?响应判断逻辑太粗糙
Uniscan 判断“存在”仅靠 HTTP 状态码 + 响应长度阈值,默认把 403 当“拒绝访问”跳过,但很多 PHP 调试文件(如 phpinfo.php)被 Nginx/Apache 配置成 403 而非 404——它就直接忽略。同样,有些 CMS 的 wp-config.php 或 composer.json 返回 200 但内容为空,Uniscan 也会丢弃。
实操建议:
立即学习“PHP免费学习笔记(深入)”;
- 加
-v(verbose)看原始响应头和长度,人工比对可疑 403 响应体是否含 PHP 代码特征(如、phpinfo()) - 用
ffuf -u http://target/FUZZ -w wordlist.txt -t 50 -fw 1234(-fw过滤固定长度)替代-e模块,更可控 - 对疑似 PHP 文件,追加测试:
curl -sI "http://target/file.php?phpinfo=1" | grep -i "x-powered-by\|content-type"
想联动其他工具补 Uniscan 的短板?别硬扛,换思路
Uniscan 本质是个轻量级目录枚举器 + 简单指纹器,它不解析 PHP 代码逻辑,也不做语法级漏洞挖掘(比如反序列化 gadget 链、SQLi 的布尔盲注)。指望它挖出 eval($_GET['x']) 或 preg_replace('/.*/e', $_GET['p'], '') 这类漏洞,等于让扫雷器去写编译器。
实操建议:
立即学习“PHP免费学习笔记(深入)”;
- 发现 PHP 脚本后,优先用
gitleaks或truffleHog扫源码仓库(如果泄露了 .git) - 对可访问的 PHP 文件,用
php -l file.php检查语法错误(有时暴露调试残留) - 结合
nikto -h target.com -Plugins 'apacheusers'补 Apache 用户枚举,或用whatweb -a 3 target.com看 CMS 类型再针对性搜 CVE
真正卡点的地方从来不是工具会不会跑,而是你有没有把 HTTP 响应状态、响应体、服务器头、URL 路径结构、已知 CMS 特征这四层信息交叉印证——Uniscan 只帮你掀开第一层灰。











