- 浏览: 269678 次
- 性别:
- 来自: 天津
文章分类
- 全部博客 (183)
- oracle (4)
- informix (1)
- web开发 (6)
- java (49)
- hibernate (1)
- hadoop (1)
- spring (23)
- 非技术 (8)
- ibatis2 (5)
- Linux (6)
- tomcat (14)
- nginx (7)
- dubbo (3)
- myibatis (7)
- webservice 开发 (2)
- mysql (2)
- svn (2)
- redis (7)
- 分布式技术 (17)
- zookeeper (2)
- kafka (2)
- velocity (1)
- maven (7)
- js (1)
- freemarker (1)
- Thymeleaf (3)
- 代码审计 (1)
- ibatis3 (1)
- rabbitmq (1)
最新评论
方式一
DocumentBuilderFactory dbf = DocumentBuilderFactory.newInstance();
// 这是优先选择. 如果不允许DTDs (doctypes) ,几乎可以阻止所有的XML实体攻击
String FEATURE = "http://apache.org/xml/features/disallow-doctype-decl";
dbf.setFeature(FEATURE, true);
FEATURE = "http://xml.org/sax/features/external-general-entities";
dbf.setFeature(FEATURE, false);
FEATURE = "http://xml.org/sax/features/external-parameter-entities";
dbf.setFeature(FEATURE, false);
FEATURE = "http://apache.org/xml/features/nonvalidating/load-external-dtd";
dbf.setFeature(FEATURE, false);
dbf.setXIncludeAware(false);
dbf.setExpandEntityReferences(false);
org.w3c.dom.Document documentW3c = dbf.newDocumentBuilder().parse(tempFile);
方式二
JAXBContext context = JAXBContext.newInstance(klass);
XMLInputFactory xif = XMLInputFactory.newFactory();
xif.setProperty(XMLInputFactory.IS_SUPPORTING_EXTERNAL_ENTITIES, false);
xif.setProperty(XMLInputFactory.SUPPORT_DTD, true);
XMLStreamReader xsr = xif.createXMLStreamReader(new StringReader(xml));
Unmarshaller unmarshaller = context.createUnmarshaller();
return unmarshaller.unmarshal(xsr);
DocumentBuilderFactory dbf = DocumentBuilderFactory.newInstance();
// 这是优先选择. 如果不允许DTDs (doctypes) ,几乎可以阻止所有的XML实体攻击
String FEATURE = "http://apache.org/xml/features/disallow-doctype-decl";
dbf.setFeature(FEATURE, true);
FEATURE = "http://xml.org/sax/features/external-general-entities";
dbf.setFeature(FEATURE, false);
FEATURE = "http://xml.org/sax/features/external-parameter-entities";
dbf.setFeature(FEATURE, false);
FEATURE = "http://apache.org/xml/features/nonvalidating/load-external-dtd";
dbf.setFeature(FEATURE, false);
dbf.setXIncludeAware(false);
dbf.setExpandEntityReferences(false);
org.w3c.dom.Document documentW3c = dbf.newDocumentBuilder().parse(tempFile);
方式二
JAXBContext context = JAXBContext.newInstance(klass);
XMLInputFactory xif = XMLInputFactory.newFactory();
xif.setProperty(XMLInputFactory.IS_SUPPORTING_EXTERNAL_ENTITIES, false);
xif.setProperty(XMLInputFactory.SUPPORT_DTD, true);
XMLStreamReader xsr = xif.createXMLStreamReader(new StringReader(xml));
Unmarshaller unmarshaller = context.createUnmarshaller();
return unmarshaller.unmarshal(xsr);
发表评论
-
aop实现通用缓存,并且防止缓存击穿
2019-09-16 15:10 795实现代码在附件中 1.自定义注解文件 package sgn ... -
统计多线程下程序运行总时间
2019-05-15 16:55 1097package com.gpcsoft.hct.epp.egp ... -
通过模板的方式解决缓存被击穿的问题
2019-04-15 11:35 4081. package gjp.tools; import c ... -
Rsa 加解密算法
2019-03-18 10:27 366package gjp.tools; /** * @Aut ... -
httpClient 使用http协议上传文件
2018-10-09 15:58 3102<dependency> <grou ... -
httpClient 使用HTTPS 协议上传文件
2018-09-30 14:50 2435<dependency> <group ... -
httpClient 的https 调用
2018-06-20 21:07 808package com.gpcsoft.xjmodule.ut ... -
猎狗方式调用接口
2017-09-27 08:36 645package boce.hit.dog; import j ... -
netty 实现长连接
2017-08-24 09:52 13091.server 端信息 package com.boce.n ... -
netty 开发入门
2017-08-22 14:30 6671.准备jar <properties> & ... -
nio 编程实例
2017-08-16 14:15 5971.编写服务端 package com.boce.nio.s ... -
jwt 生成token 和解析token
2017-06-06 16:45 5914<jjwt.version>0.6.0</j ... -
实现Java高并发隔离 模拟
2017-05-08 10:34 513package org; import java.util. ... -
java 命令
2017-04-20 16:42 416java 命令: java -Djava.ext.dirs ... -
nio 通讯
2017-04-01 15:41 525nio 服务端: package nio.study.se ... -
HashMap 便利时不按照输入顺序输出
2017-03-27 17:11 1954使用:hashmap传输数据时,便利map中的数据时,发现 ... -
使用Lock,对不同商品加锁
2017-03-13 10:52 1247package com.boce.gbkutf; ... -
json 转泛型的集合类
2017-03-07 16:21 1212package com.boce.test; ... -
httpclient4.5 使用post方式提交请求
2017-03-03 11:00 2014private RequestConfig req ... -
GBK与UTF-8 字符串互转
2017-02-24 11:17 2206package com.cloud.tools; i ...
相关推荐
【CVE-2020-29436:Nexus3 XML外部实体注入复现】 这篇文章主要讨论了CVE-2020-29436,这是一个针对Nexus Repository Manager 3的安全漏洞,该漏洞是由于XML外部实体注入(XXE)引起的。Nexus Repository Manager 3...
XXE 注入(XML 外部实体注入)是一种类型的注入攻击,它会影响解析 XML 文件的应用程序。攻击者可以通过构造恶意的 XML 文件,使用外部实体来引用文件系统中的文件或网络资源,从而导致读取任意文件、执行系统命令、...
在Java编程环境中,导出Excel和XML是常见的数据交换任务,尤其在数据分析、报表生成以及数据存储方面。这里我们将深入探讨如何使用Java来处理这两种格式。 1. **Java与Excel交互**: - **Apache POI库**:这是Java...
然而,XML的这种灵活性也引入了安全风险,如XXE(XML External Entity Injection,XML外部实体注入漏洞)。 **0x01 XML基础知识** XML文档由XML声明、DTD(Document Type Definition)文档类型定义(可选)和文档...
5. **-Djdk.xml.entityExpansionLimit**: 设置XML实体展开的最大限制,以防止XML外部实体注入攻击。 - 示例:`-Djdk.xml.entityExpansionLimit=1000` 6. **-Djdk.xml.maxGeneralEntitySizeLimit**: 设置单个一般...
WebSphere 9.0.0-9.0.5.5及8.5.0.0-8.5.5.18:更新安全补丁PH27509 WebSphere 8.0.0.0-8.0.0.15:升级到8.0.0.15版本,然后更新安全补丁PH27509 WebSphere 7.0.0.0-7.0.0.45:升级到7.0.0.45版本,然后更新安全补丁...
XXE 攻击是一种基于 XML 外部实体注入的攻击方式。攻击者可以通过构建外部实体注入来攻击 Web 应用程序。XXE 攻击可以导致本地任意文件读取、探测内网等严重的安全问题。 3.1 什么是 XXE XXE(XML External Entity...
XML外部实体(XXE,XML External Entity Injection)是一种网络安全漏洞,它允许攻击者通过恶意构造的XML输入来访问和泄露服务器内部资源。XXE注入通常发生在应用解析不受信任的XML输入时,没有正确地限制XML解析器...
3. 禁用外部实体:禁用 XML 外部实体,以防止攻击者构造特殊的 XML 实体。 4. 使用安全的 XML 解析器:使用安全的 XML 解析器,以防止攻击者构造特殊的 XML 实体。 WebGoat8 中的 XXE 注入漏洞 WebGoat8 是一个...
在最近对Apache Karaf的研究中,我发现其XML解析器中存在一些XXE(XML外部实体注入)漏洞。 导致解析器不正确地解析XML文档。受影响的版本Apache Karaf <= 4.2.1 Apache Karaf <= 4.1.6分析根据,Apache ...
XML的安全问题主要包括拒绝服务攻击、XML注入和XML外部实体注入。 拒绝服务攻击常常发生在XML解析过程中,攻击者可以通过构造大量嵌套的实体来消耗系统资源,导致程序无法正常运行。例如,攻击者可以创建一个递归...
XXE漏洞全称为XML External Entity Injection,即XML外部实体注入漏洞,是一种在应用程序中处理XML数据时出现的安全漏洞。本文将详细介绍XML的基础知识、XXE漏洞的攻击原理、影响以及防御措施。 XML(可扩展标记...
XML外部实体注入(XXE)攻击是通过利用XML解析器的外部实体加载功能,来获取服务器内部敏感信息或者对服务器进行DoS攻击。XML防火墙可以通过禁用外部实体、限制实体大小、深度限制解析等方式防止XXE攻击。 跨站脚本...
攻击者可以通过在XML文档中定义一个外部实体,指向系统资源,如本地文件系统或网络资源,从而获取敏感信息。防御XXE攻击的关键在于限制解析器对外部实体的访问,关闭不必要的实体解析功能,或者使用安全的解析库。 ...
2. **禁用外部实体**:在解析XML时,应禁用外部实体解析,以防止XXE攻击。 3. **限制XML解析器的功能**:只启用必要的解析选项,避免不必要的功能增加风险。 4. **使用安全的库和配置**:选择已知安全的XML解析库...
XML注入是另一种常见的安全威胁,比如XXE(XML外部实体注入)和XSS(跨站脚本)。XXE攻击是通过构造恶意的XML输入,利用解析器对外部实体的不当处理,可能泄露服务器的内部信息,甚至执行远程命令。为了防御这种攻击...
XML网络编程中要注意防止XXE(XML External Entity Attack,XML外部实体注入攻击)和XSS(Cross-site scripting,跨站脚本攻击)等安全问题。合理配置XML解析器,限制解析选项,可以有效防止这些攻击。 总结,XML...
5. XXE(XML外部实体注入):当应用程序解析不受信任的XML输入时,XXE攻击可能发生。攻击者利用XML解析器的外部实体功能,可能读取服务器的本地文件、发起DoS攻击,或者通过网络获取敏感信息。 6. 注入防御策略: ...
XXE攻击则利用XML解析器对外部实体的处理,可能导致数据泄露或服务器资源耗尽。 二、XML加密 为了保护XML数据的安全,XML提供了内置的加密机制。XML加密标准(XML Encryption)允许对XML文档或其部分进行加密,确保...
《Web Hacking 101》是一本网络安全必读书籍,这里是在2023年新整理的...十、XML 外部实体注入 十一、代码执行 十二、模板注入 十三、服务端请求伪造SSRF 十四、内存攻击 十五、漏洞报告 十六、相关工具 十七、相关资源