CodeQL 文档

创建 ASP.NET 调试二进制文件可能会泄露敏感信息

ID: cs/web/debug-binary
Kind: problem
Security severity: 7.5
Severity: warning
Precision: very-high
Tags:
   - security
   - maintainability
   - frameworks/asp.net
   - external/cwe/cwe-11
   - external/cwe/cwe-532
Query suites:
   - csharp-code-scanning.qls
   - csharp-security-extended.qls
   - csharp-security-and-quality.qls

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

将“调试”版本部署到生产环境的 ASP.NET 应用程序可能会向最终用户泄露调试信息。此调试信息可能会帮助恶意用户攻击系统。使用调试标志还可能会影响性能,增加执行时间和内存使用量。

建议

如果此配置可能会在生产环境中使用,请从 Web.config 文件中删除“调试”标志。

示例

以下示例显示了 ASP.NET 的 Web.config 文件中设置为 true 的“调试”标志

<?xml version="1.0" encoding="utf-8" ?>
<configuration>
  <system.web>
    <compilation
      defaultLanguage="c#"
      debug="true"
    />
   ...
  </system.web>
</configuration>

这将生成一个“调试”版本,最终用户可能会利用它。

要解决此问题,应将“调试”标志设置为 false,或将其完全删除

<?xml version="1.0" encoding="utf-8" ?>
<configuration>
  <system.web>
    <compilation
      defaultLanguage="c#"
    />
   ...
  </system.web>
</configuration>

参考

  • ©GitHub 公司
  • 条款
  • 隐私