XXE( XML 外部实体注入)
硬性条件:libxml低于2.9.1才可以进行外部实体解析
windows php5.2 php5.3
写一道ctf考题
http://web.jarvisoj.com:9882/
首先需要先修改一下类型xml,其次是修改为xml实体文件代码。
xxe漏洞防御
PHP:
libxml_disable_entity_loader(true);
JAVA:
DocumentBuilderFactory dbf =DocumentBuilderFactory.newInstance();
dbf.setExpandEntityReferences(false);
setFeature("http://apache.org/xml/features/disallow-doctype-decl",true);
setFeature("http://xml.org/sax/features/external-general-entities",false)
setFeature("http://xml.org/sax/features/external-parameter-entities",false);
Python:
from lxml import etree
xmlData = etree.parse(xmlSource,etree.XMLParser(resolve_entities=False))