千博企业网站管理系统是一套比较常见的企业网站管理系统,很多市面上的企业网站都是改它的源码而来的。它的ASPX版本是封装起来的,就是说很多东西是放进DLL里面的,因此给查看源代码带来了难度。漏洞出现的版本是2011版的了,网上挺多的,其实想要说的重点是在后面的GetShell,很有技巧。
5 z4 w3 ?( F* z
, s$ l% w$ x, K
3 D8 w: F3 B# k% {( O& z+ g " B% r l3 K' D: d
) K* ~9 I n) C* ], X& K漏洞名称:千博企业网站管理系统SQL注入; @, f4 w- m3 { V& Y
测试版本:千博企业网站管理系统单语标准版 V2011 Build0608+ e1 {$ V5 X/ A$ N! k9 }6 T6 d/ C6 D
漏洞详情:由于搜索处未对输入进行过滤,导致SQL注入。出现漏洞的文件名是:Search.Aspx。9 _+ v; b# X/ Q8 ~# |
漏洞验证:/ j6 g/ L) {8 X' \5 r( p. B
3 O% q( i+ |) S5 C6 v& q
访问http://localhost/Search.Aspx?sid=2&keyword=%' and '%Jarett%'='%Jarett,返回所有内容: F# @0 [+ M7 I' k# O2 A! l
访问http://www.xxx.com/Search.Aspx?sid=2&keyword=%' and '%Jarett%'='%sb,返回为空
1 P" S# ` {! P/ D# I; _6 N & \' p, m, E; K. g' J
那么就是存在注入了,不过可能无法直接union出来,要折半查找,慢慢手工刷吧,不一会儿,就刷到你脑残了。
/ }+ I, @2 g' {7 o 2 [/ b* X: L7 u0 M/ |
* h: J& `% y- u' j
3 c8 t5 I( ^/ ~: F- R得到密码以后一般直接加个admin目录就是后台了,不出意外的话,而且进入了后台以后,不出意外的话,你是无法GetShell的,但是本地测试时发现了个一个很有技巧的GetShell方法。这个系统使用了eWebEditor,但是无法直接利用,已经经过二次DLL封装处理的了。直接访问:7 U# H9 Y* o7 X. P/ d
! E' H4 |5 C& g" _7 _: O y+ ]
http://localhost/admin/Editor/aspx/style.aspx
- g- j0 a6 @' g9 `8 [是无法进入的,会带你到首页,要使用这个页面有两个条件:
; Y+ B6 ?' |0 P0 Y1.身份为管理员并且已经登录。: C+ O6 E8 Y# s6 a6 l, K% y
2.访问地址来源为后台地址,也就是请求中必须带上refer:http://localhost/admin/' H. l0 T s. l. E* X* C
7 y; I% q! T M+ \现在我们第一个条件已经有了,只需要使用火狐的插件或者其他插件来伪造一个refer头就可以直接进入样式管理接口:
& n6 k' ?( C( p8 b 8 j/ h- x* Q9 v8 @* j1 k% x
http://localhost/admin/Editor/aspx/style.aspx4 ^7 u k" h& L4 Z
剩下的提权应该大家都会了。7 `' P n k! @: P4 b! V) z0 `. N
$ A4 v7 W& U& c: F$ _
之所以发出来是因为这个提权方式真的很特别,如果不是本地测试偶然发现,我相信没有多少人会去试一试加refer头。也算是奇葩GetShell了 " g, s6 z0 j0 m7 {6 f6 K7 x: J
1 f' v" }6 B' ]" c, O& J ' W1 T% }5 e3 Y3 ^+ l' x
7 a4 P1 {, A. M8 ]. B8 o
提供修复措施:; s! E0 P3 N- L7 n; q& V* A% H0 w1 V
9 r* Z0 W' t0 c+ T加强过滤
8 W- Q3 o( o, D; x- s6 \& ~! P$ h/ ? d0 @
|