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

随笔2个月前发布 辰狸君
28 0 0

合集 – Web渗透(20)
1.基础篇——VMware与提权初见06-152.基础篇——Kali渗透工具初见06-163.基础篇——MySQL基础操作06-274.基础篇——Session状态维持06-265.基础篇——php与sql联动06-256.基础篇——html与php联动06-247.实战篇——XSS漏洞xss-labs-master靶场实战07-088.实战篇——文件包含漏洞07-079.实战篇——文件上传漏洞upload-labs-master靶场实战二07-0610.实战篇——文件上传漏洞upload-labs-master靶场实战一07-0511.实战篇——SQL注入sqli-labs-master靶场实战三07-0312.实战篇——SQL注入sqli-labs-master靶场实战二07-0213.实战篇——SQL注入sqli-labs-master靶场实战一07-0114.实战篇——Burpsuite工具BruteForc靶场实战06-2815.实战篇——支付逻辑漏洞portswigger靶场实战07-21
16.实战篇——XXE漏洞pikachu靶场实战07-1117.实战篇——SSRF漏洞Redis反弹shell实战07-1018.实战篇——SSRF漏洞RCE实战07-1019.实战篇——CSRF漏洞pikachu靶场实战07-1020.实战篇——XSS漏洞dedecms渗透实战07-09

收起

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

XXE的原理

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

XXE有回显利用

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

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

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

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

XXE无回显利用

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

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

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

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

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

payload:

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

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

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

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

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

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

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

XXE的防御

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

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

© 版权声明

相关文章

暂无评论

您必须登录才能参与评论!
立即登录
暂无评论...