晋城新闻网 > 行风 > 你所不知道的XML安全

你所不知道的XML安全
2019-10-04 18:00:43   

你所不知道的XML安全

你所不知道的XML安全


0x00 XML简介


XML 可扩展标记语言,被设计用来传输和存储数据。其形式多样


例如:

1.文档格式(OOXML,ODF,PDF,RSS,DOCX...) 2.图片格式(SVG,EXIF Headers,...) 3.配置文件(自定义名字,一般是.xml) 4.网络协议(WebDAV,CalDAV,XMLRPC,SOAP,REST,XMPP,SAML,XACML,...)


某些在XML中被设计出来的特性,比如 XML schemas(遵循XML Schemas 规范)和documents type definitions(DTDs)都是安全问题来源。纵然被公开的讨论了上十年,还是有一大批一大批的软件死在针对XML的攻击上。


其实XML实体机制很好理解,可以直接用“转义”来理解:&#x25&foo从原始意义上来说是一样的,只是后者是由我们自己来定义任意内容。


拿DTD来说,DTD中能声明实体来定义变量(或是文字类的宏),以便在接下来的DTD或者XML文档中使用。一般实体在DTD中定义,用来访问内部资源,获取里面的文字并用来替换自己的xml文档,而外部实体用来访问外部资源(也就是说,这些资源能来自本地计算机,也可以是远程主机)。在解析外部实体的过程中,XML的分析器可能会使用众多网络协议和服务(DNS,FTP,HTTP,SMB等等)这取决于URLs里面被指定成什么。外部实体用来处理那些实时更新的文档是很有用的,然而,攻击也能在解析外部实体的过程中发生。

攻击手段包括:

读取本地文件(可能包含敏感信息 /etc/shadow) 内存侵犯 任意代码执行 拒绝服务


本文将对长期以来出现的xml攻击方法进行一个总结。


0x01 初识XML外部实体攻击


基于外部实体的文件包含


最早被提出的XML攻击方法是利用外部实体的引用功能来实现任意文件读取

1


相关阅读:
国庆大阅兵 www.hg81081.com

热点推荐
今日点击排行