描述
uWSGI是一款Web应用程序服务器,它实现了WSGI、uwsgi和http等协议,并支持通过插件来运行各种语言,uWSGI 2.0.17之前的PHP插件,没有正确的处理DOCUMENT_ROOT检测,导致用户可以通过..%2f来跨越目录,读取或运行DOCUMENT_ROOT目录以外的文件。
复现
访问靶机地址,看到uWSGI/php,可能存在目录遍历漏洞
如果不使用exp里的payload,而使用../../../看
能不能进行目录穿越,结果发现发现页面和url都没有改变,说明../被过滤了
所以对../
进行urlencode一次,得到payload中的..%2f
直接上payload成功读取到/etc/passwd文件
但是我没并于读取到flag,然后回到phpinfo()的页面,找到了flag