【问题标题】:ASP.NET Prevent exposure of sensitive dataASP.NET 防止敏感数据泄露
【发布时间】:2015-05-21 03:01:40
【问题描述】:

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

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

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

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

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

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

【问题讨论】:

    标签: c# asp.net security audit parasoft


    【解决方案1】:

    这是完整的代码,还是您简化了示例? 我之所以问,是因为我无法违反您的示例。

    将您的示例修改为以下内容后:

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

    我收到以下违规:

    违规:通过 Web 控件泄漏 ToString() 结果(“strData”)

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

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

    则不应报告违规行为

    【讨论】:

    • 是的,为了便于阅读,我确实简化了我的示例。您的解决方案解决了我的问题。因此,即使我的数据不敏感,只是普通文本,我仍然需要在我想通过 Web 控件显示它时进行验证。嗯,这对我来说是新事物。非常感谢您的帮助。
    • @davidcoder:如果您确定暴露的数据不敏感,您可以禁止违规:)。
    【解决方案2】:

    试试这个,

    lblData.Text = strData.ToString();

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2012-06-21
      • 1970-01-01
      • 2020-06-28
      • 2020-05-25
      • 1970-01-01
      • 2023-02-06
      • 2017-07-10
      相关资源
      最近更新 更多