PHP xml实体注入

PHP环境 XML外部实体注入漏洞(XXE) PHP环境 XML外部实体注入漏洞(XXE) 简介: PHP 7.0.30 libxml 2.8.0 复现环境vulhub exec进入docker 有三个文件 dom.php 使用DOMDocument解析body SimpleXMLElement.php 使用SimpleXMLElement类解析body simplexml_load_string.php 使用simplexml_load_string函数解析body 相应代码如下 root@e1ccaae36891:/var/www/html# 阅读详情

1. 环境介绍

  • PHP 7.0.30
  • libxml 2.8.0

libxml2.9.0以后,默认不解析外部实体,导致XXE漏洞逐渐消亡。为了演示PHP环境下的XXE漏洞,本例会将libxml2.8.0版本编译进PHP中。PHP版本并不影响XXE利用。

2. 漏洞利用

利用vulhub漏洞环境,启动后,访问http://your-ip:8080/index.php即可看到phpinfo,搜索libxml即可看到其版本为2.8.0。

该漏洞环境包含dom.php、SimpleXMLElement.php、simplexml_load_string.php等文件均可触发XXE漏洞。

以SimpleXMLElement.php为例:

(1) 查看其源码如下,

 (2)php://input可以读取post请求中的 http body数据,构建如下payload以读取敏感文件信息。

 

其他环境同理可利用成功。

3.相关函数介绍 

  • loadxml()函数:解析xml标签字符串。
  • new SImpleXMLElement($data),构建可操作的对象,$data是xml字符串。
  • simplexml_load_string($data) ,转换形式良好的 XML 字符串为 SimpleXMLElement 对象,然后输出对象的键和元
  • php://input是个可以访问请求的原始数据的只读流。可以读取http entity body中指定长度的值,由于Content-Length指定长度。
  1. php://input数据总是跟$HTTP_RAW_POST_DATA相同,但是php://input比$HTTP_RAW_POST_DATA更凑效,且不需要特殊设置php.ini 
  2. php://input 与 $HTTP_RAW_DATA读取的数据是一样的,都是只读取Content-Type的值不是multipart/form-data的数据。
  3. Content-Type: application/x-www-data-urlencoded时,php://input数据和$_POST数据相一致。$_POST是对php://input做了再封装。
vulhub漏洞—php环境XML外部实体注入漏洞(XXE) PHP环境 XML外部实体注入漏洞(XXE) XXE知识总结 环境介绍: PHP 7.0.30 libxml 2.8.0 libxml2.9.0以后,默认不解析外部实体,导致XXE漏洞逐渐消亡。为了演示PHP环境下的XXE漏洞,本例会将libxml2.8.0版本编译进PHP中。PHP版本并不影响XXE利用。 vulhub搭建漏洞: github位置:https://github.com/vulhub/vulhub/tree/master/php/php_xxe 使用如下命令编译 阅读详情

相关推荐

[Vulhub] PHP环境 XML外部实体注入漏洞(XXE)

0x01 预备知识 XXE是什么? XXE(XML External Entity Injection)也就是XML外部实体注入,XXE漏洞发生在应用程序解析XML输入时,XML文件的解析依赖libxml 库,而 libxml2.9 以前的版本默认支持并开启了对外部实体的引用,服务端解析用户提交的XML文件时,未对XML文件引用的外部实体(含外部一般实体和外部参数实体)做合适的处理,并且实体的URL支持 file:// 和 ftp:// 等协议,导致可加载恶意外部文件和代码,造成 任意文件读取、命令执行、

weixin_45605352的博客 4844

XML外部实体注入总结(XXE靶机复现)

XML外部实体注入,Vuln-XXE靶机复现和无回显XXE的使用

Aiwin的博客 5754

PHP XXE漏洞实战:从靶场学习XML外部实体注入攻防

XML外部实体注入(XXE)是OWASP Top 10中的高危漏洞,其核心原理在于XML解析器不当处理用户可控的外部实体声明。在PHP开发中,由于XML广泛应用于数据交换、配置解析等场景,不当使用simplexml_load_string、DOMDocument等函数会引入严重安全风险。该漏洞技术价值在于不仅能导致敏感文件读取,还可演变为服务器端请求伪造(SSRF),用于内网探测和云元数据窃取。通过模拟真实场景的漏洞靶场,开发者可以深入理解XXE的成因、利用手法与自动化探测技巧,从而掌握禁用外部实体加载、升

weixin_34081595的博客 566

PHP XXE漏洞

PHP xml 外部实体注入漏洞(XXE) 1.环境 PHP 7.0.30Libxml 2.8.0Libxml2.9.0 以后 ,默认不解析外部实体,对于PHP版本不影响XXE的利用 2.原理介绍 XML 被设计为传输和存储数据,其焦点是数据的内容。 HTML 被设计用来显示数据,其焦点是数据的外观。 HTML 旨在显示信息,而 XML 旨在传输信息。XML特点,XML 被设计用来结构化、...

weixin_30849591的博客 1221

PHP代码审计之XXE(XML外部实体注入)

PHP代码审计之XXE(XML外部实体注入)

qq_22132931的博客 1012

【拯救C盘】一文搞懂Windows修改Anaconda默认的虚拟环境存放路径及其原理

Anaconda创建的虚拟环境可能会默认保存在C盘,但C盘的存储空间很宝贵,由于每个虚拟环境的大小可能达到n个GB,稍不注意就会遇到C盘红色警告。因此有必要做点什么来拯救被虚拟环境占用的大部分空间!!!

Roach007的博客 3万+

【PHP开发900个实用技巧】654.XXE(XML外部实体注入):PHP解析XML的“致命缺陷”

PHP安全防御中的XXE漏洞是一个严重的安全隐患,它通过恶意构造的XML文档利用解析器的实体扩展功能进行攻击,可能导致服务器权限、数据库内容甚至系统文件的泄露。PHP因其灵活性和历史版本默认开启外部实体加载而成为XXE攻击的重灾区。攻击者可以通过简单的XML注入实现文件窃取、SSRF攻击等,甚至利用递归实体展开导致服务器资源耗尽。为有效防御XXE漏洞,开发者需采取多层防护措施:在代码层面禁用外部实体加载,进行输入过滤;在运行时监控异常行为;在架构层面进行隔离和权限控制。通过综合运用这些防护手段,可以显著降低

837

Mujoco xml actuator

在MuJoCo中,actuator(执行器) 是用于定义外部力或力矩的机制,这些力或力矩可以作用于关节、肌腱或身体。执行器可以模拟各种类型的驱动器,如电机、液压缸、肌肉等。它们通过定义传输(transmission)和力生成机制(force generation)来实现对模型的控制。

m0_52113469的博客 2893

PHP环境 XML外部实体注入漏洞

libxml2.9.0以后,默认不解析外部实体,导致XXE漏洞逐渐消亡。为了演示PHP环境下的XXE漏洞,本例会将libxml2.8.0版本编译进PHP中。PHP版本并不影响XXE利用。

mmdlm的博客 759

均值场博弈_平均场博弈(mean field game)

The New Big Fish Called Mean-Field Game Theory原文链接http://www.science4all.org/article/mean-field-games/​www.science4all.org主要内容在经典博弈论中,它对附近其他鱼类的行为做出反应。这是非常复杂的,因为不同的鱼类之间会有大量的相互作用。这意味着经典博弈论对应于一长串高度耦合的方程。...

weixin_34773479的博客 3680

SDFCOM_SWC警告深度剖析:从assign短路到时序标注失效的链路追踪

本文深入剖析了SDFCOM_SWC警告的根源,从assign短路到时序标注失效的全链路追踪。通过分析RTL设计中的assign语句陷阱、综合阶段的优化变形以及PrimeTime生成SDF文件的视角,提出了重构RTL设计、警告抑制和SDF生成优化等解决方案,帮助工程师有效避免时序标注问题。

weixin_42519985的博客 363

php方案 XML外部实体注入(XXE)=XML解析器配置不当导致XXE攻击

的作用是禁用外部实体加载功能。意味着防止XML外部实体攻击。这类攻击可能允许攻击者读取服务器上的敏感文件,或发起服务端请求伪造攻击。

qq_37805832的博客 143

以高通camera 申请ion内存看dma-buf

1 fd 与ion buffer, file绑定 简单总结就是申请一个buffer,再创建一个dmabuf 结构体然后将,然后将dmabuf中得指针指向buffer,dmabuf 再传递给一个匿名的inode,获取到一个file,这样file和dmabuf绑定起来,也就和buffer关联上。然后再从进程中分配一个空闲的fd,将fd 和file囊绑定。这样就能通过fd 快速查找到buffer。file 是个全系统的,他和进程无关,但是fd 是每个进程都是自己独立的,所以再跨进程传输时只需要保证fd ...

兔兔里个花兔的博客 6443

(vulhub)PHP环境XML外部实体注入漏洞(XXE)

Vulhub 靶场安装_Gjqhs的博客-优快云博客 查询对应镜像 打开docker systemctl start docker 设置docker自启动 systemctl enable docker 查看docker状态 systemctl status docker 查找xxe镜像 docker search php_xxe 拉取镜像,(有可能超时,如下) 启动xxe服务 访问即可见此页面,可看到其版本为2.8.0。 http:...

Gjqhs的博客 1213

LayaBox CommandBuffer描边使用详细

项目需要使用LayaBox做一个给3D物体动态描边的一个功能,前前后后踩了一些坑算是把这个东西给做出来了把我改好的代码贴上,分享给大家。 (1)想要使用描边你的引擎版本必须 >=2.9.0 (2)你必须下载 Laya官方的BlurShader库才能使用这个功能,下载地址:https://github.com/layabox/layaair-demo/tree/master/h5/3d/ts/LayaAir3D_PostProcess/BlurShader 下载完之后把BlurShader放到自己项目的

小智队长 1733

第 2 章:PassThrough 直通滤波

通过设置某个维度(如 x、y、z 或 rgb)的取值范围,仅保留该范围内的点,从而达到**点云裁剪(裁边)**或过滤异常值的目的。所有在该范围之外的点会被移除(可选是否保留);点云中包含背景、地面或传感器噪声,需要过滤;通过 z 轴过滤,只保留桌面上方的物体;多轴组合过滤(如同时过滤 x、y、z);可用于地面剔除、车载点云预处理等场景。不支持一次过滤多个字段,可多次调用;仅处理某一层或某一区域的点云数据。原始点云中包含地面、墙面、背景等;在区域裁剪、前景提取中广泛使用;设定一个轴(如z轴);

yumeiguo的博客 337

XML实体注入 - 浅谈PHP-XXE

浅谈 PHP_XXE

weixin_45720618的博客 2830

WPF数据绑定Binding对数据的转换与效验(四)

Binding的作用就是架在Source与Target之间的桥梁,数据可以在这座桥梁的帮助下来流通。就像现实世界中的桥梁会设置一些关卡进行安检一样,Binding这座桥上也可以设置关卡对数据的有效性进行检验,不仅如此,当Binding的两端要求使用不同的数据类型时,我们还可以为数据设置转换器。Binding用于数据有效性检验的关卡是它的ValidationRules属性,用于数据类型转换的关卡是它的Converter属性。

qq_30725967的博客 1626

PHP环境XML外部实体注入防御(XXE)

PHP_XXE环境介绍 环境介绍 PHP 7.0.30 libxml 2.8.0 为了演示PHP环境下的XXE漏洞,本例将libxml2.8.0版本编译进PHP中。PHP版本并不影响XXE利用。 使用如下命令编译并启动环境: cd vulhub/php/php_xxe docker-compose up -d web目录如下 $ tree . . ├── dom.php # 示例:使用DOMDocument解析body ├── index.php ├── SimpleXMLElement.php # 示例

qq_46501419的博客 857

计算机控制技术及应用

《计算机控制技术及应用》通过总结作者的科研成果和吸收国内外的先进理论、方法和技术,以计算机控制系统的网络化、开放化、智能化和集成化发展趋势为主线索,主要介绍计算机控制系统的基本概念和计算机控制系统的典型形式,计算机控制系统的数学描述与基本分析方法,以及数字PID控制器、最少拍控制系统、达林算法、状态变量设计法等设计方法及其各种改进算法。重点突出计算机控制系统输入输出通道接口的设计方法和典型控制系统的设计案例与实现方法等。

efm32 入门.pdf

本PDF共计22页,介绍的是操作驱动API,下载与否自己斟酌。

PHP环境 XML外部实体注入漏洞 XXE 漏洞复现

PHP环境 XML外部实体注入漏洞(XXE) by ADummy 0x00利用路线 ​ 构造XXE payload—>POST发送—>有回显(也有blind xxe 参考资料) 0x01漏洞介绍 ​ PHP环境 XML外部实体注入漏洞(XXE) 0x02漏洞复现 payload <?xml version="1.0" encoding="utf-8"?> <!DOCTYPE xxe [ <!ELEMENT name ANY > <!ENTITY xx

ADummy的博客 579

IMSL CNL 7.0.0 (x86-64)Crack

IMSL CNL 7.0.0 (x86-64)Crack intel的算法库破解文件,这是C++版本的破解文件

XML实体注入

XML实体注入 首先介绍下基础知识把 XML大体格式如下: 接下来我以一个题目讲解 首先题目已经告诉我们了这是一道关于XML的题目 那么怎么做呢 我们打开靶机发现是一个登录界面 我们审查网页源代码 发现里面还有个dologin.php类似于PHP源码。所以我们考虑BP抓包发现是个XXE漏洞Accept: application/xml, text/xml, */*; q=0.01 X-Requested-With: XMLHttpRequest 我们用这个格式payl

weixin_55190422的博客 622
上一篇: XXE - XML外部实体注入攻击
^^_candice
博客等级 码龄10年 3粉丝 31原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值