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 的线索提示,却绝不能止步于它的报告。

nikto 默认不检测 PHP 特定漏洞,它只扫通用 Web 服务问题
很多人以为 nikto 能像 phpsploit 或 sqlmap 那样深入挖掘 PHP 代码层漏洞(比如变量覆盖、反序列化、eval() 注入),其实不是。它的核心能力是识别服务器配置错误、过期软件版本、危险目录/文件路径(如 /phpinfo.php、/test.php)、HTTP 头泄露等——这些只是“可能被利用”的线索,不是直接的 PHP 代码漏洞证据。
实际使用中常见误解:跑完 nikto -h http://target.com 没报出 preg_replace /e 或 unserialize() 问题,就以为“没 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.bak、Server: 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.zip,nikto 只告诉你“这个路径存在”,但 zip 是否可下载、解压后是否有硬编码密码、是否含数据库连接串,它一概不管。
- 所有
200 OK的 PHP 文件路径,必须用浏览器或curl -v看原始响应头和 body,确认是否真的可访问、是否回显敏感信息 - 遇到
phpinfo()页面,重点查disable_functions、allow_url_include、open_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学习网公众号下多多回复交流;文中若有不正之处,也希望回复留言以告知!
-
501 收藏
-
501 收藏
-
501 收藏
-
501 收藏
-
501 收藏
-
159 收藏
-
129 收藏
-
306 收藏
-
278 收藏
-
283 收藏
-
497 收藏
-
226 收藏
-
127 收藏
-
400 收藏
-
337 收藏
-
289 收藏
-
246 收藏
-
- 前端进阶之JavaScript设计模式
- 设计模式是开发人员在软件开发过程中面临一般问题时的解决方案,代表了最佳的实践。本课程的主打内容包括JS常见设计模式以及具体应用场景,打造一站式知识长龙服务,适合有JS基础的同学学习。
- 立即学习 543次学习
-
- GO语言核心编程课程
- 本课程采用真实案例,全面具体可落地,从理论到实践,一步一步将GO核心编程技术、编程思想、底层实现融会贯通,使学习者贴近时代脉搏,做IT互联网时代的弄潮儿。
- 立即学习 516次学习
-
- 简单聊聊mysql8与网络通信
- 如有问题加微信:Le-studyg;在课程中,我们将首先介绍MySQL8的新特性,包括性能优化、安全增强、新数据类型等,帮助学生快速熟悉MySQL8的最新功能。接着,我们将深入解析MySQL的网络通信机制,包括协议、连接管理、数据传输等,让
- 立即学习 500次学习
-
- JavaScript正则表达式基础与实战
- 在任何一门编程语言中,正则表达式,都是一项重要的知识,它提供了高效的字符串匹配与捕获机制,可以极大的简化程序设计。
- 立即学习 487次学习
-
- 从零制作响应式网站—Grid布局
- 本系列教程将展示从零制作一个假想的网络科技公司官网,分为导航,轮播,关于我们,成功案例,服务流程,团队介绍,数据部分,公司动态,底部信息等内容区块。网站整体采用CSSGrid布局,支持响应式,有流畅过渡和展现动画。
- 立即学习 485次学习