如果我知道pipe理员凭据,是否可以利用只有select权限来利用sql注入漏洞?

一位朋友指出了一个我正在使用的应用程序中的一个sql注入漏洞。

这个search参数:

'; exec xp_cmdshell 'dir'; -- 

回复信息:

 The EXECUTE permission was denied on the object 'xp_cmdshell', database 'mssqlsystemresource', schema 'sys'. 

因为search是从一个仅在less数表和存储过程上具有select权限的帐户运行的。

我想知道,如果一个恶意用户碰巧知道sql服务器的pipe理员帐户的login信息,他们是否有可能通过cmd shell或其他一些顽皮的工作使用凭据获取root权限?

有可能SQL注入可以更改为SQL服务器上更高的privilidged用户使用exec as {credentials} 。 但是,运行查询的原始用户必须拥有IMPERSONATE权限才能切换到用户。 这不是默认的configuration,你必须添加它(添加这个也是很奇怪的)。

如果可能或不可能,这并不重要,在这里你有一个合理的问题,你应该寻求解决。 这个命令甚至不应该被发送回服务器。