您现在的位置是:烟消火灭网 > 娱乐
nessus扫描不到nginx漏洞
烟消火灭网2026-10-17 07:43:05【娱乐】7人已围观
简介Nessus扫不出Nginx漏洞,大概率不是Nessus坏了,而是你扫的方向压根不对。我上周帮一个朋友看他的扫描报告,Nessus对着一台跑Nginx 1.18.0的服务器扫了三遍,报告里干干净净,一
Nessus扫不出Nginx漏洞,扫描大概率不是扫描Nessus坏了,而是扫描你扫的方向压根不对。我上周帮一个朋友看他的扫描扫描报告,Nessus对着一台跑Nginx 1.18.0的扫描服务器扫了三遍,报告里干干净净,扫描一个Nginx相关的扫描漏洞都没有。他急得不行,扫描以为Nessus漏报了。扫描我登上服务器一看,扫描Nginx确实在跑,扫描版本也确实老,扫描但Nessus没报,扫描原因很简单——它根本没把Nginx当成一个独立服务来识别。扫描
Nessus的扫描插件体系里,针对Nginx的远程漏洞检测其实少得可怜。它更擅长抓的是OpenSSL、PHP、以及各种CMS的漏洞。Nginx本身的历史CVE,能通过远程未授权检测出来的,掰着手指头数也就那么几个。比如CVE-2017-7529那个整数溢出,影响范围到1.13.2,Nessus确实有插件能测,但前提是Nessus得先确认目标跑的是Nginx,并且版本落在受影响区间内。问题就出在这个“确认”环节。
很多Nginx配置了自定义的Server头,或者干脆把版本号藏了。Nessus的HTTP指纹识别依赖响应头里的Server字段、特定URL的返回特征、以及错误页面的格式。你把server_tokens off;一开,Server头变成nginx不带版本号,Nessus的版本比对就断了线索。它可能知道这是Nginx,但不知道是哪个版本,于是所有依赖版本判断的插件全部跳过。你看到的“扫不到”,其实是“识别不到版本,所以不测”。
还有一种更常见的情况:Nessus的扫描策略里,Web应用扫描和基础设施扫描是分开的。如果你用的是默认的“Basic Network Scan”,它主要走端口和服务识别,对HTTP的深入探测有限。Nginx的漏洞插件大多挂在“Web Servers”分类下,你得手动勾选或者用“Advanced Scan”并确保HTTP相关插件族被启用。我见过太多人拿默认策略扫完就说Nessus不行,实际上插件根本没加载。
另外,Nginx作为反向代理时,Nessus看到的是后端应用,不是Nginx本身。比如Nginx转发到Tomcat,Nessus扫到的是Tomcat的漏洞,Nginx的配置问题——比如不安全的TLS配置、目录穿越、或者alias配置错误——这些属于配置审计范畴,Nessus的远程扫描很难覆盖。你得用nginx -V看编译参数,用nginx -T导出配置,再配合像Gixy这样的专用工具去查。Nessus不是干这个的。
我自己的做法是:Nessus用来扫Nginx背后的应用和SSL/TLS配置,Nginx本身的漏洞和配置问题交给Nuclei加自定义模板,或者直接上nginx -T加人工审查。别指望一个通用扫描器能把Nginx的边边角角都覆盖到。它扫不到,不是它瞎,是你让它干了它不擅长的事。
最后说个具体的。上个月一个客户,Nginx 1.16.1,Nessus报告里只有一条“SSL Medium Strength Cipher Suites Supported”,其他啥也没有。我手动发了个请求:curl -I http://target/..%2f..%2f..%2fetc/passwd,返回400。再试/nginx_status,直接200,stub_status开着,暴露了连接数。这玩意儿Nessus不报,但它是个实打实的信息泄露。所以,扫不到Nginx漏洞,先别怀疑工具,先想想你让它扫的是什么,以及它到底看到了什么。
很赞哦!(526)
上一篇: 锦绣大地批发市场价格
下一篇: 牛商网网站后台登录







