欢迎来到尧图网

客户服务 关于我们

您的位置:首页 > 科技 > 名人名企 > 缺少 XML 验证与资源注入修复

缺少 XML 验证与资源注入修复

2025/6/25 11:52:09 来源:https://blog.csdn.net/zqmattack/article/details/148881041  浏览:    关键词:缺少 XML 验证与资源注入修复

详细描述——缺少 XML 验证

程序未对不可信赖资源的 XML 文档进行恰当模式校验(如 DTD XML schema ),直接进行解析,可
能会导致攻击者进行 XML 攻击。
例如:下面代码片段用于加载一个 XML 文件。但没有启用 DTD XML schema 校验功能,给攻击者进
行恶意输入提供了机会。
try{
...
DocumentBuilderFactory factory=DocumentBuilderFactory.newInstance();
factory.setValidating(false);
...
c_dom=factory.newDocumentBuilder().parse(xmlFile);
}catch(Exception ex){
...
}
解决方案——缺少 XML 验证
程序解析来自不可信赖资源的 XML 时,应该经过恰当模式(如 DTD XML schema )的校验。
详细描述——资源注入
使用用户输入控制资源标识符,借此攻击者可以访问或修改其他受保护的系统资源。当满足以下两
个条件时,就会发生资源注入:
1 )攻击者可以指定已使用的标识符来访问系统资源。例如,攻击者可能可以指定用来连接到网络资
源的端口号。
2 )攻击者可以通过指定特定资源来获取某种权限,而这种权限在一般情况下是不可能获得的。例如,
程序可能会允许攻击者把敏感信息传输到第三方服务器。
例如:下面的代码片段使用读取自 HTTP 请求的端口号来建立一个套接字。
String remotePort = request.getParameter("remotePort");
...
ServerSocket srvr = new ServerSocket(remotePort);
Socket skt = srvr.accept();
...
这种使用用户输入影响的资源可能存在风险。
解决方案—— 资源注入
为了避免资源注入漏洞攻击,可以采用黑名单或白名单策略。黑名单会有选择地拒绝或避免潜在的
危险字符。但是,任何这样一份黑名单都不可能是完整的,而且将随着时间的推移而过时。比较好的方法
是创建白名单,允许其中的字符出现在资源名称中,且只接受完全由这些被认可的字符所组成的输入。

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com

热搜词