【问题标题】:Why sonar cloud does not tag as "Injection"?为什么声纳云不标记为“注入”?
【发布时间】:2021-07-10 15:52:34
【问题描述】:

看看这段代码:

var url = "https://mydatabase.documents.azure.com:443/";
var db = "my-db";
var key = "mykey";

var sqlQueryText = $"SELECT * FROM CelCoinData f WHERE f.id = '{data.UniversalId}' and f.uri = '{data.Uri}'";

var cliente = new CosmosClient(url, key);
var database = cliente.GetDatabase(db);
var containers = database.GetContainer("MyContainer");
var dados = new DataCosmosDB();

var iterator = containers.GetItemQueryIterator<DataCosmosDB>(sqlQueryText);

在我看来,这是教科书 SQL 注入,但 SonarCloud 并没有这样标记它。为什么?

Cosmos 对它无懈可击吗? cosmos 客户端是否以某种方式对此进行了计算并相应地进行了调整,并且 sonar 是否意识到了这一点?

【问题讨论】:

  • 我很好奇你关心的是什么,关于 Cosmos DB 的 SQL 注入,因为 SQL API 的语言仅限于 SELECT:没有插入、没有更新、没有表创建/删除(嗯, 在这种情况下是集合)。

标签: sonarqube azure-cosmosdb sql-injection sonarcloud


【解决方案1】:

根据 SonarCloud 支持,尚未将 Cosmos 检测为 SINK。他们会做出适当的改变

【讨论】:

    猜你喜欢
    • 2023-03-20
    • 2013-07-24
    • 2012-05-28
    • 2022-07-01
    • 2013-07-22
    • 1970-01-01
    • 1970-01-01
    • 2022-12-19
    • 1970-01-01
    相关资源
    最近更新 更多