首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >XDocument.Parse:避免替换XXE引用

XDocument.Parse:避免替换XXE引用
EN

Stack Overflow用户
提问于 2015-10-21 17:13:27
回答 2查看 2.7K关注 0票数 1

我正在尝试防止应用程序处理的XML中出现恶意的XXE注入。因此,我使用XDocument而不是XmlDocument。

XML表示web请求的有效负载,因此我在其字符串内容上调用XDocument.Parse。但是,我看到XML (& xxe )中包含的XXE引用在结果中被替换为实体xxe的实际值。

有没有可能在不替换&xxe的情况下用XDocument解析XML?

谢谢

编辑:我设法避免了使用XDocument.LoadXmlResolver=null替换XML中的to。

EN

回答 2

Stack Overflow用户

发布于 2015-10-21 17:44:50

尝试使用带有预配置读卡器的Load,而不是Parse

代码语言:javascript
复制
var xdoc = XDocument.Load(new XmlTextReader(
    new StringReader(xmlContent)) { EntityHandling = EntityHandling.ExpandCharEntities });

来自MSDN:

当EntityHandling设置为ExpandCharEntities时,读取器扩展字符实体并将常规实体作为EntityReference节点返回。

票数 0
EN

Stack Overflow用户

发布于 2018-06-08 16:46:53

使用以下示例停止解析XXE (模式和DTD)。

代码语言:javascript
复制
Dim objXmlReader As System.Xml.XmlTextReader = Nothing
objXmlReader = New System.Xml.XmlTextReader(_patternFilePath)
objXmlReader.XmlResolver = Nothing
patternDocument = XDocument.Load(objXmlReader)
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/33255286

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档