[点晴永久免费OA]解决Nginx目录遍历漏洞
当前位置:点晴教程→点晴OA办公管理信息系统
→『 经验分享&问题答疑 』
Nginx作为一款广泛使用的高性能Web服务器,其配置和解析过程中的漏洞可能对系统安全造成严重威胁。 目录遍历漏洞 漏洞描述1:Nginx在解析请求路径时,若配置不当,攻击者可利用../序列访问服务器上层目录,进而泄露敏感文件。 漏洞描述2:测试尝试了检测服务器上的隐藏目录。403 Forbidden 响应暴露了存在此目录,即使不允许对其进行访问。 ![]() 修复建议: 如果不需要禁止的资源,请将其从站点中除去。 可能的话,请发出改用“404 -找不到"响应状态代码,而不是“403 -禁止”。这项更改会将站点的目录模糊化,可以防止泄漏站点结构。 漏洞修复方法: 方法1: 关闭autoindex指令以禁用目录列表功能;(阴影红色部分添加的参数) 在location节点的下,添加autoindex off; 关闭目录列表 location / { root /home/file/web; autoindex off; #不列出目录 try_files $uri $uri/ =404; # 无索引文件直接404 } 按照上述配置后,再次进行漏洞扫描,检查还是报存在隐藏目录,报403 Forbidden 响应,感觉是没有效果。 于是又从编译考虑,编译时加 --without-http_autoindex_module,彻底关闭目录遍历,但结果不尽如意,漏洞扫描问题还是存在,方法不可行。 方法2:从Web网站目录考虑,在目录下放置index.html文件,遍历目录直接跳转至登录页面,这样就不会再报403 Forbidden 响应。这是一种折中的方法,之后扫描,没有再报目录遍历漏洞。 方法3:按照漏洞修复建议,请发出改用“404 -找不到"响应状态代码,而不是“403 -禁止”; 配置如下:(阴影红色部分添加的参数) location / { root /home/file/web; location ~ ^/.+/$ { try_files $uri =404; #先检查“文件”是否存在;如果文件不存在,立即返回 404,不会再去尝试目录索引。 } try_files $uri $uri/ /index.html; #先找文件;若文件不存在,再尝试目录索引(目录里有 index.html 就返回);最后才回退到 SPA 的 index.html autoindex off; limit_except GET POST { deny all; } } 按照上述配置后,再次进行漏洞扫描,没有再报目录遍历漏洞。 以上三种方法仅在开发环境测试验证过,生产环境还是需要更多扫描软件去验证。 该文章在 2025/9/2 12:03:15 编辑过 |
关键字查询
相关文章
正在查询... |