合集 – 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文档实现文件读取:
对参数进行url编码后执行:
XXE无回显利用
无回显时需要使用外带通道,将文件读取的数据发送至第三方服务器。
receiver.php用于接收数据并进行base64解码,然后将数据保存至以当前时间戳命名的php文件中:
sender.dtd作为外部实体引入,用于向receiver.php发送数据:
payload:
对参数进行url编码后执行:
此时第三方服务器上新生成了一个php文件:
访问该文件,即可读取test.php文件内容:
XXE的防御
1.禁用外部实体(php:libxml_disable_entity_loader(true)😉
2.对用户提交的XML文档数据进行检验和过滤