首页
社区
课程
招聘
[原创]xxe漏洞学习总结
发表于: 2015-8-31 23:47 3212

[原创]xxe漏洞学习总结

2015-8-31 23:47
3212
在对公司网站的监测分析时发现HTTP请求包数据中有这样一段代码:<?xml version="1.0"?> <!DOCTYPE foo [<!ELEMENT methodName ANY ><!ENTITY xxe SYSTEM "file:///etc/passwd" >]><methodCall>  <methodName>&xxe;</methodName></methodCall>根据HTTP包头数据结构,发现这是一段攻击者添加的代码,是在以往分析中未曾看到过的漏洞注入信息,所以便查阅了一些资料,做了如下的一些学习总结。
该段代码属于XXE注入漏洞,全称为XML External Entity Injection,是XML外部实体注入攻击。是在对非安全的外部实体数据进⾏行处理时引发的安全问题。
本段代码为XXE本地文件包含漏洞的代码结构,除本地文件包含外,还可以利用XXE进行拒绝服务攻击、获取服务信息及执行系统命令等,可根据服务器返回的数据包判断是否存在该漏洞。
防护措施主要有两种:一是使用开发语言提供的禁用外部实体,如: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))。
二是过滤用户提交的XML数据,如:关键词:<!DOCTYPE和<!ENTITY,或者,SYSTEM和PUBLIC。

[招生]科锐逆向工程师培训(2024年11月15日实地,远程教学同时开班, 第51期)

收藏
免费 0
支持
分享
最新回复 (1)
雪    币: 50
活跃值: (73)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
2
沙发~~~
2015-9-1 11:18
0
游客
登录 | 注册 方可回帖
返回
//