【问题标题】:XML Injection on fortify issue强化问题上的 XML 注入
【发布时间】:2017-07-13 01:13:16
【问题描述】:

我的项目中有以下代码

 XPathDocument document = new XPathDocument(new StringReader(xml));
 return document.CreateNavigator();

加强在上述代码中显示 xml 注入。如何解决这个 xml 注入?

【问题讨论】:

  • 看到你完全没有提供任何上下文 - 我想说这可以通过输入验证轻松解决。

标签: c# xml security c#-4.0 fortify


【解决方案1】:

“扩展函数和变量可用于防止 XML 注入攻击。”

来源:https://msdn.microsoft.com/en-us/library/dd567715.aspx

防止 XPath 注入的主要思想是预编译您要使用的 XPath 表达式并允许其中的变量(参数),在评估过程中这些变量将被用户输入的值替换

在 .NET 中:

  1. 使用 XPathExpression.Compile() 预编译您的 XPath 表达式。
  2. 使用 XPathExpression.SetContext() 方法将 XsltContext 对象指定为上下文,该对象将某些特定变量解析为用户输入的值。

上面的来源,基本上包含了你需要的所有信息。

【讨论】:

    猜你喜欢
    • 2018-10-13
    • 2019-09-26
    • 2022-07-14
    • 1970-01-01
    • 2021-05-12
    • 1970-01-01
    • 1970-01-01
    • 2022-01-20
    • 1970-01-01
    相关资源
    最近更新 更多