Является ли SQL-инъекция угрозой с помощью WMI?
Например:
С учетом следующего кода, если domainName
предоставляется извне и не подвергается санитарной обработке, чего потенциально может достичь злоумышленник?
string domainName = "user-inputted-domain.com";
string wql = "SELECT *
FROM MicrosoftDNS_ATYPE
WHERE OwnerName = '" + domainName + "'";
// perform WMI query here...
Если это угроза, о которой я думаю, что было бы наилучшим способом защиты от нее вместо использования обычного параметризованного запроса, как это было бы с LINQ?Будет ли просто удаление каких-либо ['
] символов сделать трюк?
И на другой ноте, есть ли какие-либо расширения LINQ для запроса WMI, которые будут решать эту проблему?
Редактировать: Найден класс SelectQuery
.Еще не пробовал, но, похоже, он обладает более надежными возможностями построения запросов, например, свойство Condition
.