小编Roc*_*son的帖子

这个动态创建的sql有多脆弱?

我可以在网上找到关于动态创建参数化查询的正确和安全方法的大量信息.但是,此类网站仅讨论where子句的参数化.

那么,sql语句的其他子句呢?请参阅以下内容:

       string sql = string.Format(@"                
            SELECT MIN(TableName) as TableName, {0}
            FROM
            (
              SELECT 'Table A' as TableName, {0}
              FROM {1}
              UNION ALL
              SELECT 'Table B' as TableName, {0}
              FROM {2}
            ) tmp
            GROUP BY {0}
            HAVING COUNT(*) = 1", columnList, tableA, tableB);
Run Code Online (Sandbox Code Playgroud)

我正在构建一个声明,其中已经参数化了以下内容:

  1. select子句中的项目
  2. from子句中的tablename

问题:这对sql注入有多么脆弱,可能会造成一些损害?

无论如何,我无法想到恶意黑客可以注入sql,这将导致正确形成的可执行sql.但话说回来,我不是一个SQL专家.

c# sql sql-injection

0
推荐指数
1
解决办法
102
查看次数

标签 统计

c# ×1

sql ×1

sql-injection ×1