文章详情
什么是XXE漏洞?XXE漏洞原理分析
一、什么是XXE?
介绍 XXE 之前,我先来说一下普通的 XML 注入,这个的利用面比较狭窄,如果有的话应该也是逻辑漏洞
既然能插入 XML 代码,那我们肯定不能善罢甘休,我们需要更多,于是出现了 XXE
XXE(XML External Entity Injection) 全称为 XML 外部实体注入,XML外部实体。其实我这里废话只是想强调我们的利用点是 外部实体 不要被 XML 中其他的一些名字相似的东西扰乱了思维(盯好外部实体就行了),如果能注入 外部实体并且成功解析的话。
二、什么是XML?
XML 被设计用来传输和存储数据
XML 指可扩展标记语言(EXtensible Markup Language)
XML 是一种标记语言,很类似 HTML
XML 的设计宗旨是传输数据,而非显示数据
XML 标签没有被预定义。您需要自行定义标签。
XML 被设计为具有自我描述性。
XML 是 W3C 的推荐标准
三、XML 与 HTML 的主要差异?
XML 不是 HTML 的替代。
XML 和 HTML 为不同的目的而设计:
XML 被设计为传输和存储数据,其焦点是数据的内容。
HTML 被设计用来显示数据,其焦点是数据的外观。
HTML 旨在显示信息,而 XML 旨在传输信息。
四、XML工作流程
五、XXE的危害?
1. XML拒绝服务
这样的DTD一旦进入DOM,将极有可能造成拒绝服务…
payload中先定义了lol实体,值为“lol”字符串,然后下面又定义了lol2实体,在lol2实体中,引用10个lol实体。也就是说现在lol2的值是10个“lol”字符串,下面的lol3又引用了10个lol2实体的值,现在lol3的值是100个“lol”字符串,依此类推,到了最后在lolz元素中引用的lol9中,就会存在上亿个“lol”字符串,如果程序在解析数据时没有做特别的处理,那么极有可能对程序造成拒绝服务攻击。
2. XML注入
3. 外部实体注入
上一文章:文件包含漏洞的原理解析
下一文章:常用的测试报告漏洞和修复建议总结
相关推荐
- 10-10电脑常见故障问题和解决方法
- 01-14想学程序员又是零基础能学吗?
- 12-08利用Metasploit+Nmap进行渗透网络服务器,直
- 06-26有关计算机黑客的电影,黑客电影推荐,讲黑客
- 05-22电脑软件的下载与安装
- 10-28ctf新手要具备什么知识,ctf比赛需要的技术
- 06-10官方简体中文ACDSee Ultimate 10软件安装激
- 05-02编程入门先学什么?编程需要先学哪些
- 03-06间谍软件如何影响杀毒行业的发展?
- 09-16学渗透需要什么基础,0基础能学渗透吗
- 06-02实用工具箱,你生活的好帮手!
- 05-06开发一个软件多少钱?软件开发成本估算
- 01-17「全网首发」朋友圈发这张图能发财!
- 05-11从程序员的角度看最新人口普查数据