webservice XML实体注入漏洞解决方案
来源:互联网 发布:qt编程入门 书籍 编辑:程序博客网 时间:2024/06/16 01:52
- 漏斗描述
目标存在webservice XML实体注入漏洞。XML是可扩展标记语言,标准通用标记语言的子集,是一种用于标记电子文件使其具有结构性的标记语言。XML文档结构包括XML声明、DTD文档类型定义(可选)、文档元素。当允许引用外部实体时,通过构造恶意内容,可导致读取任意文件、执行系统命令、探测内网端口、攻击内网网站等危害。 - 解决方案
(1) 关闭XML解解析函数的外部实体。
在生成xml的代码中加入:
DocumentBuilderFactory dbf = DocumentBuilderFactory.newInstance(); dbf.setExpandEntityReferences(false);
如果使用的是DOM4J的Document生成的xml请改成w3c的Document生成。代码如下:
DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance(); factory.setExpandEntityReferences(false); // 创建DocumentBuilder DocumentBuilder builder = factory.newDocumentBuilder(); // 创建Document Document document = builder.newDocument(); Element rss = document.createElement("rss"); rss.setAttribute("version", "2.0");
(2) 过滤用户输入的非法字符,如“<>” “%” “+”等。
在项目filter目录下加入XssFilter.java和XssHttpServletRequestWrapper.java
同时在web.xml中加入
<filter> <filter-name>XssFilter</filter-name> <filter-class>com.xxx.xxx.web.filter.XssFilter</filter-class> </filter> <filter-mapping> <filter-name>XssFilter</filter-name> <url-pattern>/*</url-pattern> <dispatcher>REQUEST</dispatcher> </filter-mapping>
附件下载:XssFilter.java和XssHttpServletRequestWrapper.java
阅读全文
0 0
- webservice XML实体注入漏洞解决方案
- Xml实体注入漏洞的一些测试和总结
- XML实体注入
- XXE xml实体注入
- XSS漏洞与SQL注入漏洞解决方案
- ecshop支付漏洞手工注入 解决方案
- JAVA:URL存在跨站漏洞,注入漏洞解决方案
- JAVA:URL存在跨站漏洞,注入漏洞解决方案
- web安全 XML实体注入风险
- XML文件的解析以及XML外部实体注入防护
- 通过JAXB看XML外部实体注入(XML External Entity)
- XXE漏洞——XML实体定义引起的兼容性问题
- XXE漏洞——XML实体定义引起的兼容性问题
- paip.Answer 3.0 注册功能SQL注入漏洞解决方案
- Android WebView的Js对象注入漏洞解决方案
- Android WebView的Js对象注入漏洞解决方案
- Android WebView的Js对象注入漏洞解决方案
- Android WebView的Js对象注入漏洞解决方案
- 监听ajax请求完成
- TensorFlow官方文档中文版-笔记(七)
- PTA C实验5 7-7 计算天数
- nginx负载均衡策略
- 全能电子地图下载器 破解版 亲测可用
- webservice XML实体注入漏洞解决方案
- C++11新特性学习笔记—long long
- webpack 编译sass异常
- SSM项目中怎么去一个时间段
- react 小结
- 火柴排队(蜜汁tle)
- 自定义构建配置
- Swift 100个入门实例程序之00-05
- Kotlin的互操作——Kotlin与Java互相调用