gpt4 book ai didi

c# - Excel 导入的 SQL 注入(inject)漏洞

转载 作者:行者123 更新时间:2023-11-30 18:18:54 25 4
gpt4 key购买 nike

<分区>

我一直在研究为 ASP.NET WebForms 应用程序生成的安全报告。我们代码中的某些区域已被注意到是潜在的 SQL 注入(inject)漏洞。我一直在研究我们的代码库中的这些区域,它们似乎都是我们导入 excel 工作簿的地方。有问题的代码似乎是在我们尝试根据工作簿中第一个工作表的名称创建 OleDbCommand 时出现的。我们正在使用 OleDbConnection 对象连接到数据库(excel 工作表),该对象读取数据库模式以查找第一个工作表的名称。然后我们使用该名称动态构造一个 SQL 命令。示例代码可能如下所示:

    String connectionString = String.Format(
"Provider=Microsoft.ACE.OLEDB.12.0;Data Source={0};" +
"Extended Properties=\"Excel 12.0;HDR=NO;IMEX=1\"", sFullPath);
OleDbConnection conn = new OleDbConnection(connectionString);
conn.Open();
DataTable dbSchema = conn.GetOleDbSchemaTable(OleDbSchemaGuid.Tables, null);
string firstSheetName = dbSchema.Rows[0]["TABLE_NAME"].ToString();
using (OleDbCommand command = new OleDbCommand("SELECT * FROM [" + firstSheetName+ "]", conn)) // Offending line of code

为了修复此 SQL 注入(inject)漏洞,我一直在寻找上述代码的替代方案。有谁知道我如何在不被标记为 SQL 注入(inject)漏洞的情况下执行此操作?我不想使用 ActiveX office 对象来执行此操作。

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com