ASP.NET 防止泄露敏感数据

ASP.NET Prevent exposure of sensitive data

我正在做一个 asp.net/c# 项目。目前我有一个带有标签控件 lblData 的网页来显示字符串变量的内容。请看下面的代码块:

string strData = "Data";
lblData.Text = strData;

当我用运行 Parasoft工具扫描项目时,得到如下结果:

安全问题:防止敏感数据泄露

通过 Web 控制泄漏 ToString() 结果。

我认为我的代码违反了一些标准的安全惯例,但我不确定如何修复它。 非常感谢您的时间和帮助。

试试这个,

lblData.Text = strData.ToString();

这是完整的代码,还是您简化了示例? 我问是因为我无法在您的示例中发现任何违规行为。

将您的示例修改为类似内容后:

protected void Foo(object o)
{
    string strData = "Data" + o.ToString() ;
    lblData.Text = strData;
}

我遇到了以下违规行为:

违规:通过网络控制泄漏 ToString() 结果 ("strData")

要解决该违规问题,您需要验证暴露的数据,这是通过在规则配置中定义验证方法并将您的数据传递给该方法来完成的(默认情况下,所有带有前缀 'validate' 的方法都被视为验证) 因此,如果您将代码修改为:

protected void Foo(object o)
{
    string strData = "Data" + o.ToString() ;
    validateStrData(strData);
    lblData.Text = strData;
}
private void validateStrData(string strData)
{
    //some validating logic
}

则不应举报违规行为