XXE后记(3)--抛砖引玉

XXE最后的尾巴

知道了XXE的漏洞原理,以及简单的利用方法,漏洞危害后;就应该通过案例来感受XXE造成的危害,引起我们的反思,该如何进行防御,安全的开发,以及知识点的扩充。


XXE漏洞利用的一些小细节的扩充

在上篇中,进行漏洞任意文件读取危害说明时的关键代码<!ENTITY content SYSTEM "./1.txt">,其中./1.txt才是来控制文件读取的指定作用,其中默认使用了file协议。对于不同的程序支持的协议不一样。

引自腾讯安全应急响应中心

对于不懂的协议,自己也去搜索了一番,发现了例如PHP file://等封装协议


XXE实际漏洞利用案例

2018年文章 微信支付XXE漏洞:XXE in WeChat Pay Sdk (WeChat leave a backdoor on merchant websites)
TSRC: Web程序调用该office软件来获取office文档内容后提供在线预览功能触发XXE任意文件读取


XXE exp公布情况

exploit-db XXE漏洞公布情况

XXE漏洞公布情况

CVE-2019-17554:Apache Olingo XXE漏洞
CNVD-2019-30895 :UsualToolCMS前台存在XXE注入漏洞
CNVD-2018-12508:第三方支付平台JAVA SDK存在XXE漏洞
等等.....


XXE漏洞防御

思路:XXE的触发本质就是外部实体的使用,关键点也就是外部DTD实体,所以主要有两个思路

  1. 禁止外部实体使用(开发角度),同时也是代码审计的关键点;

PHP应当设置

libxml_disable_entity_loader(true);

JAVA应当设置

DocumentBuilderFactory dbf =DocumentBuilderFactory.newInstance();
dbf.setExpandEntityReferences(false);

Python应当设置

from lxml import etree
xmlData = etree.parse(xmlSource,etree.XMLParser(resolve_entities=False))

ASP.NET应当设置(.NET 4.5.2版本之前)

xmlDoc.XmlResolver = null;

2.DTD实体部分声明进行过滤处理(关键字过滤)
对实体声明中必不可少的SYSTEM,PUBLIC,&,<!ENTITY,<!DOCTYPE等过滤处理


XXE漏洞练习平台推荐

XXE-lab: XXE漏洞实验室
pikachu: pikachu漏洞练习平台
XXE - PHP Audit Basic: PHP环境下XXE漏洞练习平台

最后强烈推荐:建议先学习Docker搭建靶场,可以尝试对上面平台使用Docker搭建实现

目前提供 Docker搭建Pikachu靶场教程


XXE检测工具介绍

XXEinjector:一款功能强大的自动化XXE注入工具。
RequestBin:RequestBin检测工具
HookBin:HookBin检测工具
也可以使用其他web漏洞扫描器


XML的其他漏洞

1) XEE:XML Entity Expansion,主要试图通过消耗目标程序的服务器环境来进行DOS攻击;
2) XSLT:可扩展样式表转换漏洞,XSLT是XML的推荐样式表语言;
3) XPath注入漏洞,XPath用于浏览XML文档中的元素和属性,XSLT使用XPath来查找XML文档中的信息。


主要参考文献:

  1. VSR2014年度报告 : XMLDTDEntityAttacks.pdf
  2. OWASP报告 XML External Entity Attacks (XXE).ppt

其他推荐:

CCF推荐国际学术期刊


第一篇:XML简介(1)--头部声明
第二篇:XML编写(2)--语法要求
第三篇:XML规范(3)--DTD限制
第四篇:XML引用(4)--DTD应用
第五篇:XXE基础(1)--实体类别
第六篇:XXE利用(2)--漏洞实现

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • 1简述 XXE(XML External Entity)是指xml外部实体攻击漏洞。XML外部实体攻击是针对解析X...
    这是什么娃哈哈阅读 6,507评论 0 0
  • 当心里装着心事的时候,做什么事都是魂不守舍的。 朋友最近一直牵挂着她的爸爸,爸爸病重,很想回去看看爸爸,可是儿子马...
    孤独的小猪89583阅读 149评论 2 0
  • 文/上官梦凝 还记得分开时笑着告诉你, 我想写下我们之间的故事, 还记得最怕自己突然...
    天亮时心晴阅读 236评论 0 1
  • 今天已经是1月8号了。我还没有新年目标。所以今天就来立个新目标。 1,找工作。赚钱还债,做个自由的人 2,学习,看...
    活着才是根阅读 144评论 1 2

友情链接更多精彩内容