当前位置:首页 > 娱乐 > nmap扫描网站漏洞 正文

nmap扫描网站漏洞

来源:烟消火灭网   作者:焦点   时间:2026-10-17 05:48:08

很多人以为nmap只是扫描个端口扫描器,跑一遍`nmap -sV target.com`看到开放端口就完事了。网站这种用法连nmap三成功力都没发挥出来。漏洞真正拿它做Web漏洞排查,扫描重点在于把脚本引擎(NSE)用起来,网站配合端口、漏洞服务、扫描HTTP头信息交叉比对,网站能挖出不少肉眼容易漏掉的漏洞问题。

先说一个我实际遇到的扫描情况。某次对一台测试服务器做例行检查,网站nmap扫完发现80和443都开着,漏洞版本识别显示nginx 1.18.0。扫描单看这个版本号没什么感觉,网站但加上`--script http-headers`之后,漏洞返回的响应头里缺少X-Frame-Options和Content-Security-Policy。这两个头的缺失意味着页面可能被嵌入iframe做点击劫持。nmap不会直接告诉你“这里有点击劫持漏洞”,它只是把原始数据摆出来,判断得你自己做。

NSE脚本是nmap真正有意思的部分。跟Web相关的脚本大概有上百个,常用的几个:http-enum用来枚举常见目录和文件,http-vuln-*系列针对特定CVE做检测,http-sql-injection能对URL参数做基础注入探测,http-csrf检查表单是否有token防护。跑一条命令就能同时调用多个脚本:

nmap -p 80,443 --script "http-enum,http-headers,http-csrf,http-sql-injection" target.com

但别指望这些脚本能替代Burp Suite或sqlmap。http-sql-injection的检测逻辑比较粗糙,它只对URL里已有的参数做简单payload替换,遇到POST表单、JSON body、需要认证的接口基本无能为力。我拿它扫过一个存在盲注的站点,什么都没报。所以nmap在Web漏洞这块的定位是“快速摸底”,不是“深度利用”。

端口和服务版本这块反而容易被忽视。比如扫到一个8080端口跑着Apache Tomcat 9.0.30,这个版本存在Ghostcat(CVE-2020-1938)文件读取漏洞。nmap的-sV能识别出Tomcat版本,再配合--script http-vuln-cve2020-1938就能直接验证。整个过程不需要打开浏览器,命令行里就完成了从发现到验证的闭环。这种效率在批量资产排查时特别管用。

还有一类问题藏在SSL/TLS配置里。--script ssl-enum-ciphers会列出目标支持的加密套件,如果看到RC4或者3DES还在列表里,基本可以判定加密配置不达标。更严重的是ssl-cert脚本能直接拉出证书信息,过期时间、颁发者、SAN列表一目了然。我见过一个站点证书过期了三个月没人换,浏览器虽然会拦,但API调用方如果没做校验就直接裸奔了。

说几个使用上的坑。nmap的Web脚本默认走HTTP/1.1,有些站点强制HTTPS或者HSTS,脚本可能返回空结果。加--script-args http.useragent="Mozilla/5.0"有时候能绕过简单的UA拦截。另外扫描频率别调太高,-T4在部分WAF面前跟自杀没区别,IP直接被封。生产环境建议-T2配合--scan-delay慢慢来。

最后提一个组合用法:先用nmap -p 80,443,8080,8443 --open -oG scan.txt target.com快速筛出存活Web端口,再对结果逐条跑NSE脚本。这样比一上来就全脚本轰炸要快得多,也不容易触发防护告警。nmap不是万能的Web扫描器,但在资产发现和初步排查阶段,它的速度和脚本灵活性仍然是其他工具很难替代的。

标签:

责任编辑:探索