CodeQL 文档

通过传输数据泄露信息

ID: cs/sensitive-data-transmission
Kind: path-problem
Security severity: 4.3
Severity: error
Precision: high
Tags:
   - security
   - external/cwe/cwe-201
Query suites:
   - csharp-code-scanning.qls
   - csharp-security-extended.qls
   - csharp-security-and-quality.qls

点击查看 CodeQL 代码库中的查询

向用户传输敏感数据存在潜在的安全风险。始终确保传输的数据是供用户使用的。例如,通常不应将密码和数据库异常的内容发送给用户,因为它们会泄露可能被滥用或利用的信息。

建议

避免向用户传输密码或异常。而是创建一个对用户更友好的消息,其中不包含潜在的敏感信息。技术错误应写入日志文件。

示例

以下示例显示了用户密码被发送回给用户。

public class Handler : IHttpHandler
{

    public void ProcessRequest(HttpContext ctx)
    {
        try
        {
       ...
    }
        catch (AuthenticationFailure ex)
        {
            ctx.Response.Write("Invalid password: " + password);
        }
    }
}

以下示例显示了发送给用户的数据库异常。异常通常包含用户不应该看到的、不必要的技术或敏感信息。

public class Handler : IHttpHandler
{

    public void ProcessRequest(HttpContext ctx)
    {
        try
        {
       ...
    }
        catch (DbException ex)
        {
            ctx.Response.Write("Database error: " + ex.Message);
        }
    }
}

参考资料

  • ©GitHub 公司
  • 条款
  • 隐私