|
Nikto这东西,说白了就是个扫描器。但它不是那种拿着漏洞库到处怼的暴力型选手,它更像一个细心的侦察兵,专门盯着Web服务器配置和文件层面的安全隐患。我用了三年多,最深的感受是:它不会告诉你“这里有SQL注入”,但它会告诉你“你服务器上躺着个默认安装的测试页面,这页面背后可能藏着后门”。 安装没什么好说的,Kali里自带,一条命令的事。真正有意思的是它的输出。第一次跑的时候,我盯着满屏的“OSVDB-XXXX”编号发懵,后来才明白这些编号对应着开源漏洞数据库的条目。比如OSVDB-3092,意思是“IIS短文件名泄露”。这玩意儿在实战中相当有用——你不需要猜目录名,直接靠短文件名就能摸出服务器上的隐藏文件。 用法上,最基础的是nikto -h https://example.com。但别急着跑,有几个参数我建议你加上。-ssl强制用SSL连接,-port指定非标准端口,-timeout调大点免得扫描中途断掉。有一次我扫内网一个老旧系统,默认超时5秒,结果一堆请求直接超时漏报,把超时调到15秒后,多扫出来三个敏感目录。这个教训让我记住:Nikto的默认配置偏保守,生产环境里要根据目标调整。 更进阶的玩法是结合代理和插件。-useproxy http://127.0.0.1:8080可以把流量导进Burp,方便你手动验证Nikto报的每个条目。插件机制也值得琢磨,比如-Plugins apacheusers专门枚举Apache的认证用户文件。不过说实话,Nikto的插件质量参差不齐,有些已经过时了,我通常只挑几个常用的用,比如puttest(检查是否允许PUT上传)和msgs(收集服务器错误信息)。 有个细节常被忽略:Nikto的扫描结果会默认存到/usr/share/nikto/下的HTML报告里。但如果你不指定-o参数,它只会输出到屏幕,扫完就没了。我建议养成习惯,每次扫描都带上-o report.html -Format htm,事后翻报告比翻终端历史记录靠谱得多。上周帮朋友排查一个被挂马的站点,就是靠一份两周前的Nikto报告,确认了那个可疑的/uploads/目录是后来才出现的。 别指望Nikto能扫出所有问题。它的强项是快速发现“明显但不显眼”的风险——比如遗留的管理后台、备份文件、错误配置的响应头。有一次扫一个电商站,它报了个/admin/目录存在但返回200,我顺手点进去,发现是个无验证的旧版后台,直接能登录。这种问题,WVS或AWVS那种重量级扫描器可能因为规则太杂反而漏掉。 最后说点个人看法。Nikto的更新频率不算快,有些新漏洞的指纹它可能没有。但它的价值在于“基线检查”——每次上线新系统或改动配置后跑一遍,能快速发现配置漂移。我习惯把它和whatweb、nmap的脚本扫描配合用,先识别技术栈,再针对性扫。单独用Nikto,就像拿一把瑞士军刀去砍树,能砍,但效率不高。 |