找回密码
 立即注册
欢迎中测联盟老会员回家,1997年注册的域名
查看: 1961|回复: 0
打印 上一主题 下一主题

28度的冰注入技巧之(一)——404页面的妙用

[复制链接]
跳转到指定楼层
楼主
发表于 2012-9-15 14:15:42 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
遇到一个sa注入点,mssql错误提示关闭无疑shi让人郁闷的事情。8 h0 E! D3 q7 r" C

6 Z2 t- t$ c. Z" Z# a  虽然错误提示关闭也shi可能以列目录,执行命令,但shishi多少就有些不方便。阿D就可能以在错误提示关闭的情况下列目录。2 D- Q' I" S: ?( E7 Q
( a6 T! m( `0 A& A9 y
  这里有一个很好的方法,让你得到web目录路径,让你得到服务器上的文件,让你执行命令得到回显。- I% _" k- ?" N! C5 @: d8 M

, {( b  p3 `- x% I& r1 K  IIS,404页面的默认路径shi C:\Windows\Help\iisHelp\common\404b.htm
) X4 Z5 W  b+ I" n* Z9 ?6 p$ J4 E9 E: @2 u2 w4 q' J: ~  [
  得到web路径exec master..xp_cmdshell ’copy C:\Windows\system32\inetsrv\MetaBase.xml C:\Windows\Help\iisHelp\common\404b.htm’--
; q% E# V1 W2 x* o; _! Y/ y1 u; H7 D6 r2 y# V9 i8 a
  ,这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 的内容了。
& S2 I' E; f6 I( t( j  k+ A
8 \  A# Y0 I, x  执行命令得到回显& n0 j$ r/ \! ~. r5 ]$ g
9 u) k3 X' K$ y: V4 a' p4 |! v7 ~
  通过上面得到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’--$ _8 b( |4 R# B, K7 `$ `* p6 k+ y
) }8 h3 U) Y# ?" w! N! \2 F3 C/ \% E
  得到文件也shi相同,把文件copy到404b.htm就行了
, ~9 Y" s! O- d; K& p/ |; b7 `9 J0 z* P& F: e& h2 `& A# J
  by 28ice, 2008/6/266 B& s* y/ B6 a$ R8 g( C: Q6 T

- S' B. f$ C3 E3 h" q6 C3 W. [( O# K  摘自 28度的冰
" |% M& x; f8 ?- N. g9 ]' S. w: x; n- e$ R& F$ D! r
  盲注判断权限和操作系统版本8 q3 A1 p2 c$ v  M+ a
7 w; T3 E& r* S% Y& j/ L! N
  首先第一个问题,如果错误提示关闭,怎么判断当前的权限shi否为sysadmin呢?; H8 T$ Q* S7 Z7 r7 q: f
; J  U3 F+ b* u1 Z6 a! ~5 l4 a" t' L
  最简单的,可能以用这样的方法:6 f1 ?. k' s4 O' V9 w1 H7 v& y
# i% R: Q  z" Q1 a4 p' _
  1=(select IS_SRVROLEMEMBER(’sysadmin’))1 M2 Z$ W! O+ [9 L5 S
9 ]: _+ Y- B) O1 G+ E
  当然,有些情况下,这个方法并不奏效。$ s( ]5 Z, @  i7 t9 O
/ `, h! R  K- y# R3 J$ v* L: C
  既然shisa,我们就可能以通过执行命令判断,不过,既然错误提示关闭,那么执行的结果就很不容易拿到。
, g0 _  C1 j5 g8 _4 r: J
, b4 X) a4 P+ {  有个3办法可能以解决这个问题
. y& `7 e, y9 O: J' u- ^1 U% ^) l, a  o  O  U. D
  a.把执行结果写到404b.htm,具体请看我的上一篇文章- I. e, V" h2 y1 c( E: G$ W
8 W0 G5 |8 C) m4 G( z+ @/ n* @, Z
  b.执行ping 127.1 -n 10,看看页面shi否延迟10秒钟
" ^7 u4 q, L$ ?1 {& j0 }/ O
& k' i9 M. l/ Z, m/ I  c.如果1433端口可能以连接,那干脆新建个sql登录. C# }3 k0 }+ R$ ~9 Y
7 m+ Y/ V+ l$ y: ?
  d.如果大牛你shi公网Ip,openrowset,或者直接telnet,ftp到你自己的机子,说到这里,ftp还有别的用处,比如,把执行结果写到文件中,然后通过ftp传到你的机子上,这何尝不shi获得执行结果的一个好办法。当然,你可能能要用到ftp的-s参数
. ^9 u" [. O+ [+ `* ~* x* G
. v( t; H( z1 E& D- ~) O8 o  还有一个问题,怎么判断系统shi2000还shi2003?当然指的shi错误提示关闭的情况下
9 A6 C1 B- G5 e# F0 V6 S: r3 e: @  F- v! R5 l- D
  很简单
$ y, B, C5 w+ r+ y. k: a& a/ q, u5 Z3 B
  执行systeminfo- |* ]+ U5 M/ x
- y7 {* s8 V0 }' G8 m" ?
  在xp/2003下才有这个命令,这个命令执行大概需要5秒钟时间。如果页面延迟5秒,就可能以进一步断定这shi2003(当然不排除2008的可能能性)。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

快速回复 返回顶部 返回列表