kali怎么挖php漏洞_用uniscan探测php站隐藏漏洞点【技巧】

26次阅读

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

kali怎么挖php漏洞_用uniscan探测php站隐藏漏洞点【技巧】

Uniscan 在 Kali 中跑不起来?先确认 Python 版本和依赖

Uniscan 是一个基于 Python 2 的老工具,Kali 2023+ 默认已弃用 Python 2,直接运行 uniscan 会报 command not foundImportError: 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 pycurlurllib2 内置,不用额外装)
  • 启动时显式调用:python2 /usr/share/uniscan/uniscan.pl -u http://target.com -qweds(注意是 .pl 文件,不是可执行命令)

为什么 -qweds 扫不出 PHP 文件泄露或 LFI?参数含义要对齐目标

Uniscan 的扫描模式高度依赖参数组合,-q(quick)、-w(web content)、-e(file enumeration)、-dDirectory check)、-s(subdomain)各自触发不同行为。PHP 相关漏洞(如 phpinfo.phpconfig.php.bak?file=../../etc/passwd)主要靠 -e-d,但默认字典极旧且不含常见 PHP 备份后缀。

实操建议:

立即学习PHP免费学习笔记(深入)”;

  • 替换或扩展现有字典:/usr/share/uniscan/wordlist/directory.lst 加入 phpinfo.phpconfig.php~index.php.swp
  • 手动测试 LFI:Uniscan 不自动 fuzz 参数,得自己拿 curl 配合 ffufgau 提取参数后做 payload 注入
  • -e 模式只扫根路径,若目标用子目录部署 PHP(如 http://site.com/app/),需加 -r /app/ 指定路径

扫出来一 403/404 却漏掉真实 PHP 敏感文件?响应判断逻辑太粗糙

Uniscan 判断“存在”仅靠 HTTP 状态码 + 响应长度阈值,默认把 403 当“拒绝访问”跳过,但很多 PHP 调试文件(如 phpinfo.php)被 nginx/apache 配置成 403 而非 404——它就直接忽略。同样,有些 cmswp-config.phpcomposer.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 脚本后,优先用 gitleakstruffleHog 扫源码仓库(如果泄露了 .git
  • 对可访问的 PHP 文件,用 php -l file.php 检查语法错误(有时暴露调试残留)
  • 结合 nikto -h target.com -Plugins 'apacheusers' 补 Apache 用户枚举,或用 whatweb -a 3 target.com 看 CMS 类型再针对性搜 CVE

真正卡点的地方从来不是工具会不会跑,而是你有没有把 HTTP 响应状态、响应体、服务器头、URL 路径结构、已知 CMS 特征这四层信息交叉印证——Uniscan 只帮你掀开第一层灰。

text=ZqhQzanResources