]> 赞 踩 xml通过xxe可以执行远程代码。在xml中植入: 在java代码中设置: 那么读取是会检测DOCTYPE并抛出异常。 Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。
java防止xxe漏洞_saxreader解析xml 避免xxe漏洞
关于xml的xxe漏洞的处理
<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE nsfocus-sec [
<!ELEMENT methodname ANY >
<!ENTITY xxe SYSTEM "file:///etc/passwd" >]>
<methodcall>
<methodname>&xxe;</methodname>
</methodcall>
篡改以后,如果可读取file文件或者达到植入命令的效果,则说明存在该漏洞。
SAXReader reader = new SAXReader();
reader.setFeature("http://apache.org/xml/features/disallow-doctype-decl", true); // Compliant
reader.setFeature("http://xml.org/sax/features/external-general-entities", false);
reader.setFeature("http://xml.org/sax/features/external-parameter-entities", false);
reader.setFeature("http://apache.org/xml/features/nonvalidating/load-external-dtd", false);