一位朋友指出了一个我正在使用的应用程序中的一个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,你必须添加它(添加这个也是很奇怪的)。
如果可能或不可能,这并不重要,在这里你有一个合理的问题,你应该寻求解决。 这个命令甚至不应该被发送回服务器。