XXE漏洞(Pikachu)

随笔3个月前发布 花好月圆
34 0 0

合集 – Pikachu(15)
1.暴力破解(Pikachu)05-022.XSS(Pikachu)05-033.CSRF(Pikachu靶场练习)05-104.SQL注入(pikachu)05-105.RCE(Pikachu)05-126.文件包含(Pikachu)05-127.不安全的文件下载(Pikachu)05-128.不安全的文件上传(Pikachu)05-129.越权漏洞(Pikachu)05-1210.目录遍历(Pikachu)05-1211.敏感信息泄露(Pikachu)05-1212.PHP反序列化(Pikachu)05-12
13.XXE漏洞(Pikachu)05-1214.不安全的URL跳转(Pikachu)05-1215.CSRF(原理)05-12

收起

原理

要补好多知识~

XXE漏洞(Pikachu)

XXE漏洞全称XML External Entity Injection 即XML外部实体注入。
XXE漏洞发生在应用程序解析XML输入时,没有禁止外部实体的加载,导致可加载恶意外部文件和代码,造成任意文件读取、命令执行、内网端口扫描、攻击内网网站、发起Dos攻击等危害。
XXE漏洞触发的点往往是可以上传xml文件的位置,没有对上传的xml文件进行过滤,导致可上传恶意xml文件。

解析xml在php库libxml,libxml>=2.9.0的版本中默认是禁止解析xml外部实体内容的,没有XXE漏洞。

从XML相关一步一步到XXE漏洞 – 先知社区 (aliyun.com)

XML外部实体注入(XXE)的原理和应用_xml注入原理-CSDN博客

XXE(XML外部实体注入)漏洞分析——pikachu靶场复现_pikachu xxe-CSDN博客

XXE危害

读取任意文件

PHP中可以通过FILE协议、HTTP协议和FTP协议读取文件,还可利用PHP伪协议。
XML在各语言下支持的协议有:

XXE漏洞(Pikachu)

pikachu

pikachu XXE (XML外部实体注入)(皮卡丘漏洞平台通关系列)-CSDN博客

在实施攻击之前可以简单判断一下是否存在回显数据

随便输入个包含命名实体(内部实体)的xml数据(以下代码中xxe是命名实体的实体名称):

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

XXE漏洞(Pikachu)

看到回显了”茶茶“,说明存在回显。(注意:只能判断是否存在回显,不能判断是否支持外部实体)

已经判断了输入内部实体是有回显的,那接下来可以用带内外部实体注入的方法,来确定是否支持外部实体,以及实施攻击。

c:/windows/win.ini是每个windows系统都有的文件,如果确定服务器是windows系统,就可以用该文件来确定是否有xxe漏洞,当然想要读取其他文件目录,只需更改绝对路径即可

输入payload(以下代码中xxe是外部实体的实体名称):

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

XXE漏洞(Pikachu)

东西有点多,后续还会继续学习

__EOF__

XXE漏洞(Pikachu)
本文作者: Mchacha 本文链接: https://www.cnblogs.com/Mchacha/p/18187789 关于博主: 评论和私信会在第一时间回复。或者直接私信我。 版权声明: 本博客所有文章除特别声明外,均采用 BY-NC-SA 许可协议。转载请注明出处! 声援博主: 如果您觉得文章对您有帮助,可以点击文章右下角【推荐】一下。

© 版权声明

相关文章

暂无评论

您必须登录才能参与评论!
立即登录
暂无评论...