0x01 漏洞描述
phpmyadmin是一款应用非常广泛的mysql数据库管理软件,基于PHP开发。这个漏洞有些年头了,看离别歌大佬的博文,恰巧看到,感觉有点意思,找来实践一下。
任意文件包含漏洞(CVE-2014-8959)影响版本为4.0.1-4.2.12:
0x02 补丁分析
在文件libraries/gis/pma_gis_factory.php中对$type_lower多加了个判断。
作者修补思路是加白名单,只能包含指定目录下的php文件。
旧版本的文件包含漏洞点就出在$type_lower这里。
0x03 漏洞代码分析
任意本地文件包含漏洞代码出现在libraries/gis/pma_gis_factory.php 第29行,但是该页面没有注入点,
得靠其他页面注入参数传递来第29行,其中最佳注入点在/gis_data_editor.php
0x04 利用过程及POC
测试环境为php 5.2.17 + phpmyadmin 4.0.3 + MySQL 5.5.40
最终POC:
http://localhost/pma/gis_data_editor.php?token=XXX&gis_data[gis_t