【问题标题】:How to resolve "Deserialization of Untrusted Data" error reported by Checkmarx如何解决 Checkmarx 报告的“不可信数据的反序列化”错误
【发布时间】:2022-02-03 18:49:46
【问题描述】:

我们在 Azure DevOps Pipeline 中集成了 Checkmarx 静态代码分析器工具。在运行我们的管道时,我们在下面的代码行中遇到“不可信数据的反序列化”错误,风险很高。你能帮我解决这个问题吗?

C# 代码:

using System.Text.Json;

string reqBodyParams = await new StreamReader(request.Body).ReadToEndAsync();
var requestData = JsonSerializer.Deserialize<CalcRequestBody>(reqBodyParams);

CalcRequestBody 类:

public class CalcRequestBody
{
  public string CalcFormula { get; set; }
  public string UserName { get; set; }
}

【问题讨论】:

    标签: c# security azure-devops asp.net-core-webapi checkmarx


    【解决方案1】:

    我终于从 Checkmarx 工具中找到了“反序列化不受信任的数据”错误的解决方案。

    using Newtonsoft.Json;
    
    var requestData = JsonConvert.DeserializeObject<CalcRequestBody>(reqBodyParams, new JsonSerializerSettings
    {
       TypeNameHandling = TypeNameHandling.None
    });
    

    【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-11-17
    • 1970-01-01
    • 2018-06-01
    • 1970-01-01
    • 2011-06-28
    • 1970-01-01
    相关资源
    最近更新 更多