【发布时间】:2011-05-23 21:08:16
【问题描述】:
SQL 注入对 WMI 构成威胁吗?
例如:
鉴于以下代码,如果domainName 是外部提供的且未经过净化处理,恶意攻击者可能会实现什么目标?
string domainName = "user-inputted-domain.com";
string wql = "SELECT *
FROM MicrosoftDNS_ATYPE
WHERE OwnerName = '" + domainName + "'";
// perform WMI query here...
如果它是一种威胁,我想它是,那么最好的防御方法是什么,而不是像使用 LINQ 那样使用普通的参数化查询?简单地去掉任何 ['] 字符就可以解决问题吗?
另外,是否有任何用于查询 WMI 的 LINQ 扩展可以解决这个问题?
编辑:找到SelectQuery 类。还没有尝试过,但它似乎具有更强大的查询构建功能,例如Condition 属性。
【问题讨论】:
标签: sql wmi sql-injection