我正在尝试将xp_cmdshell的结果与select查询结合起来。我尝试过联合&阅读有关创建临时表的内容,但我的结果将只有1列。更准确地说,我需要一个更小的查询来将xp_cmdshell的结果与select查询组合在一起,因为我试图在基于联合的sql注入中使用它
例如:
Select name from employee
union
exec xp_cmdshell 'whoami'我知道这是行不通的,但稍微有点相似就更好了:)
发布于 2012-07-16 19:24:26
创建一个临时表并插入到#temp EXEC中。或者使用OPENROESET。请参阅此http://beyondrelational.com/modules/2/blogs/70/posts/10812/select-columns-from-exec-procedurename-is-this-possible.aspx
发布于 2012-07-16 19:22:05
您应该知道此存储过程返回什么以及输出什么。然后,当您知道此过程返回的表模式时,可以使用以下语法:
DECLARE @procedureOutput nvarchar(max)
SET @procedureOutput=Exec xp_cmdshell 'dir'
SELECT name FROM employee union @procedureOutput如果需要转换两种不同的数据类型,可以使用CAST和CONVERT命令。
https://stackoverflow.com/questions/11503067
复制相似问题