实战篇——XXE漏洞pikachu靶场实战

实战篇——XXE漏洞pikachu靶场实战

XXE的原理

如果服务器未显式地禁用XML外部实体引用,攻击者就可以通过构造恶意的XML文档,实现文件读取、命令执行等攻击。

XXE有回显利用

构造XML文档实现文件读取:

image-20240711165009009

对参数进行url编码后执行:

image-20240711165206126

XXE无回显利用

无回显时需要使用外带通道,将文件读取的数据发送至第三方服务器。

receiver.php用于接收数据并进行base64解码,然后将数据保存至以当前时间戳命名的php文件中:

image-20240711165637664

sender.dtd作为外部实体引入,用于向receiver.php发送数据:

image-20240711165855906

payload:

image-20240711170127880

对参数进行url编码后执行:

image-20240711170313920

此时第三方服务器上新生成了一个php文件:

image-20240711170357272

访问该文件,即可读取test.php文件内容:

image-20240711170545733

XXE的防御

1.禁用外部实体(php:libxml_disable_entity_loader(true)😉

2.对用户提交的XML文档数据进行检验和过滤

posted @ 2024-07-11 17:11  yaoguyuan  阅读(133)  评论(0编辑  收藏  举报