登录
首页 >  文章 >  php教程

kali用nikto检测php漏洞教程

时间:2026-03-22 13:57:31 253浏览 收藏

Nikto 并非 PHP 代码层漏洞挖掘工具,它无法检测如反序列化、eval 注入或变量覆盖等深层逻辑缺陷,而是专注于识别服务器配置风险、过期组件、敏感路径(如 /phpinfo.php、/config.php.bak)和 HTTP 头泄露等“可利用线索”;要提升其对 PHP 环境的探测效果,必须手动启用插件(如 tests)、调整扫描策略(-Tuning 5、-mutate 3)、指定端口与协议,并结合人工验证——所有标为“PHP 相关”的结果价值差异极大,需逐条研判响应内容、状态码及上下文,真正有效的 PHP 漏洞挖掘永远始于 Nikto 的线索提示,却绝不能止步于它的报告。

kali怎么挖php漏洞_用nikto检测php站点常见漏洞【方法】

nikto 默认不检测 PHP 特定漏洞,它只扫通用 Web 服务问题

很多人以为 nikto 能像 phpsploitsqlmap 那样深入挖掘 PHP 代码层漏洞(比如变量覆盖、反序列化、eval() 注入),其实不是。它的核心能力是识别服务器配置错误、过期软件版本、危险目录/文件路径(如 /phpinfo.php/test.php)、HTTP 头泄露等——这些只是“可能被利用”的线索,不是直接的 PHP 代码漏洞证据。

实际使用中常见误解:跑完 nikto -h http://target.com 没报出 preg_replace /eunserialize() 问题,就以为“没 PHP 漏洞”,这会漏掉大量真实风险。

  • nikto 不解析 PHP 源码,也不发送构造 payload 测试函数行为
  • 它依赖预置的 DB(/usr/share/nikto/plugins/db_tests)匹配 URL 模式和响应特征,对动态参数型漏洞基本无效
  • 若目标用 Nginx + php-fpm,且隐藏了 .php 后缀(伪静态),nikto 默认规则大概率扫不到 PHP 文件

想让 nikto 发现更多 PHP 相关风险,得手动加参数和插件

默认扫描太保守,必须主动引导它关注 PHP 场景。重点不是“能不能挖”,而是“怎么让它更敏感地暴露 PHP 环境弱点”。

  • 强制检查常见 PHP 调试/测试文件:nikto -h http://target.com -Plugins "tests"(启用 tests 插件后会尝试访问 /info.php/php.ini/shell.php 等)
  • 指定端口并跳过 SSL 验证(很多本地 PHP 环境跑在 8080 或 HTTP):nikto -h http://target.com:8080 -ssl 0
  • 结合字典扩展探测路径:nikto -h http://target.com -Tuning 5 -mutate 3-Tuning 5 启用“Web 服务器”类检测,-mutate 3 尝试常见文件后缀变体,如 .php3.phtml
  • 若已知用 Apache,可加 -Plugin apacheusers 查找用户目录下的 PHP 脚本(如 /~admin/test.php

nikto 报出来的“PHP 相关条目”,哪些真该立刻跟进?

它输出里带 “php” 字样的结果,价值差异极大。别见“php”就紧张,也别全忽略。

  • 高优先级(立刻手工验证):/phpinfo.php/install.php/config.php.bakServer: Apache/2.4.7 (Ubuntu) OpenSSL/1.0.1f PHP/5.5.9(版本号暴露)
  • 中优先级(需看响应内容):/test.php?cmd=ls(如果返回了命令执行结果,说明已 RCE;如果 404 或报错,可能是误报)
  • 低优先级(大概率噪音):/phpmyadmin/(没权限访问时 nikto 会乱报“可能存在”,但实际可能已改路径或加了认证)
  • 特别注意 OSVDB- 编号:比如 OSVDB-12184(PHP register_globals on)现在基本绝迹,但 OSVDB-3268(phpinfo 泄露)至今有效

真正挖 PHP 漏洞,nikto 只是第一步,后面必须接人工验证

它发现的每个疑似点,都只是“入口线索”。比如扫出 /backup/config.php.zipnikto 只告诉你“这个路径存在”,但 zip 是否可下载、解压后是否有硬编码密码、是否含数据库连接串,它一概不管。

  • 所有 200 OK 的 PHP 文件路径,必须用浏览器或 curl -v 看原始响应头和 body,确认是否真的可访问、是否回显敏感信息
  • 遇到 phpinfo() 页面,重点查 disable_functionsallow_url_includeopen_basedir 设置,这些直接决定后续能否 getshell
  • 若 nikto 提示 HTTP TRACE method is allowed,这不是 PHP 漏洞,但可能辅助 XSS 或绕过某些 WAF,需单独测试
  • 别依赖 -output 自动保存报告就结束——nikto 的文本输出里常混着调试信息(如 [+][*] 行),真正有用的只有标了 + (发现)和 - (排除)的那几行

最常被忽略的一点:nikto 对 POST 请求、JSON 接口、带 Token 的 API 完全无感。真正的 PHP 漏洞越来越多藏在 /api/v1/submit 这类路由里,而不在 index.php 上。

今天关于《kali用nikto检测php漏洞教程》的内容介绍就到此结束,如果有什么疑问或者建议,可以在golang学习网公众号下多多回复交流;文中若有不正之处,也希望回复留言以告知!

资料下载
相关阅读
更多>
最新阅读
更多>
课程推荐
更多>