XML解析器安全配置

本文介绍了XML解析器存在的安全问题,特别是外部实体可能导致的未授权文件访问和拒绝服务攻击。针对此风险,提供了SAXReader和SAXBuilder解析器的安全配置示例,通过禁用外部实体加载来防止XXE攻击。建议其他XML解析器使用者参照官方文档进行相似的配置以增强安全性。
摘要由CSDN通过智能技术生成

背景说明

应用工程使用XML解析器解析外部传入的XML文件,如果没有做特殊处理,大多会解析XML文件中的外部实体。 如果外部实体包含URI,那么XML解析器会访问URI指定的资源,例如本地或者远程系统上的文件。 该攻击可用于未经授权访问本地计算机上的文件,扫描远程系统,或者导致本地系统拒绝服务。

通过配置XML解析器,禁止加载外部实体。

SAXReader解析器

public static String DDD= “http://apache.org/xml/features/disallow-doctype-decl“;
SAXReader reader = new SAXReader();
reader.setFeature(DDD,true);
reader.setFeature(“http://xml.org/sax/features/external-general-entities“, false);
reader.setFeature(“http://xml.org/sax/features/external-parameter-entities“, false);
Document doc = reader.read(in);

SAXBuilder解析器

SAXBuilder sb

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值