iis服务器助手广告广告
返回顶部
首页 > 资讯 > 后端开发 > PHP编程 >【渗透测试】XXE(外部实体注入):PHP_XXE解题简记
  • 815
分享到

【渗透测试】XXE(外部实体注入):PHP_XXE解题简记

php系统安全web安全网络安全安全 2023-09-16 09:09:54 815人浏览 八月长安
摘要

目录 🦄一、XXE(外部实体注入) 🐹1.1 漏洞介绍 🐹1.2 漏洞识别 🐹1.3 漏洞防御 🦄二、PHP_XXE解题 🐹2.1 解题步骤

目录

🦄一、XXE(外部实体注入)

🐹1.1 漏洞介绍

🐹1.2 漏洞识别

🐹1.3 漏洞防御

🦄二、PHP_XXE解题

🐹2.1 解题步骤

🐹2.2 注意事项

🐔2.2.1 XML语句格式

🐔2.2.2 内部实体与外部实体

🐔2.2.3 文件读取的方式


🦄一、XXE(外部实体注入)

🐹1.1 漏洞介绍

    XXE漏洞发生在应用程序解析XML输入时,并没有禁止外部实体的加载,当允许引用外部实体时,通过构造恶意内容,可导致读取任意文件、执行系统命令、探测内网端口、攻击内网网站等危害。

🐹1.2 漏洞识别

    首先存在漏洞的WEB服务一定是存在xml传输数据的,可以在Http头的content-type中查看,比如Content-Type: text/xml, post的数据包含XML格式,如:admin请求头中添加Content-Type: text/xml,或Content-type: application/xml。也可以根据url一些常见的关键字进行判断测试,例如wsdl (web服务描述语言)。或者一些常见的采用xml的java服务配置文件(spring,struts2)。

🐹1.3 漏洞防御

(1)使用开发语言提供的禁用外部实体的方法

·PHP:libxml_disable_entity_loader (true);·Java:DocumentBuilderFactory dbf = DocumentBuilderFactory.newInstance();dbf.setExpandEntityReferences (false);·python:from lxml import etreexmlData = etree.parse(xmlSource, etree.XMLParser(resolve_entities=False))

(2)过滤用户提交的XML数据

关键词:

🦄二、php_XXE解题

🐹2.1 解题步骤

(1)打开靶场,输入任意账号密码登录,拦截数据包。观察到数据包,发现body体数据类似XML文件形式,故可以尝试进行XML外部实体注入

(2)在body体中添加xml语句,并重发数据包

🐹2.2 注意事项

在添加XML语句时要注意以下事项:

🐔2.2.1 XML语句格式

]>&test;admin

第一行为XML声明,用来定义XML的版本,一般情况可以不要

第二至五行为DTD,用来定义XML的合法元素。!DOCTYPE 用来声明文档类型;!ELEMENT定义一个元素(XML标签名)这里类型为ANY;!ENTITY声明一个实体(XML标签中的内容)

第六行为是XML树结构,为实际内容

注意:

a.在利用XXE攻击时!ELEMENT元素可不用定义

b.!ENTITY声明的实体要在树结构中以&实体名;的形式引用,否则无法显示读取内容

🐔2.2.2 内部实体与外部实体

内部实体声明:

外部实体声明:

🐔2.2.3 文件读取的方式

​file:///                   #file协议读取文件http://url/file.txt         #http协议读取站点下的文件PHP://filter                #文件流形式读取php文件

注意:在读取php文件时要用PHP://filter协议,以file和http协议读取.php文件则会报错,因为php文件中含有<>//等特殊字符,xml解析时会当成xml语法进行解析。那我们若是要读取php文件则可以使用php://filter/read=convert.base64-encode/resource=/etc/hosts方法对内容进行base64编码。

来源地址:https://blog.csdn.net/weixin_53972936/article/details/127542696

--结束END--

本文标题: 【渗透测试】XXE(外部实体注入):PHP_XXE解题简记

本文链接: https://www.lsjlt.com/news/409711.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作