千博企业网站管理系统是一套比较常见的企业网站管理系统,很多市面上的企业网站都是改它的源码而来的。它的ASPX版本是封装起来的,就是说很多东西是放进DLL里面的,因此给查看源代码带来了难度。漏洞出现的版本是2011版的了,网上挺多的,其实想要说的重点是在后面的GetShell,很有技巧。
0 a4 L. q+ M2 Q+ b! P$ t! Z
8 D; }9 j0 [$ i: K* |1 l% O9 D 3 T! ~4 b3 f) O& D( S% g1 a3 D
8 \* |6 G9 Q* _4 q, ^
1 L0 d1 K7 p# Z漏洞名称:千博企业网站管理系统SQL注入
5 v& k% S; i2 _$ a P! g测试版本:千博企业网站管理系统单语标准版 V2011 Build06085 Z+ @0 p$ s, O) ?) v7 l
漏洞详情:由于搜索处未对输入进行过滤,导致SQL注入。出现漏洞的文件名是:Search.Aspx。
% ~5 ~& Z# S. u( t( U Z9 A4 z漏洞验证:
; h: ~. j( m: @7 Z! l
# R& d \+ b+ _7 B& o# N访问http://localhost/Search.Aspx?sid=2&keyword=%' and '%Jarett%'='%Jarett,返回所有内容+ g: Z3 v2 d% {# C& o% U3 a8 R0 {
访问http://www.xxx.com/Search.Aspx?sid=2&keyword=%' and '%Jarett%'='%sb,返回为空8 V+ k/ v6 T, C9 m8 H
. @$ g4 l5 U9 _% S1 I那么就是存在注入了,不过可能无法直接union出来,要折半查找,慢慢手工刷吧,不一会儿,就刷到你脑残了。
2 F- f* v) w3 X4 E9 k
; F8 a1 G" O- o7 E6 h: b- _
; y- g; c+ |2 Q
y. p) \: _- B; y# I. A; v得到密码以后一般直接加个admin目录就是后台了,不出意外的话,而且进入了后台以后,不出意外的话,你是无法GetShell的,但是本地测试时发现了个一个很有技巧的GetShell方法。这个系统使用了eWebEditor,但是无法直接利用,已经经过二次DLL封装处理的了。直接访问:
) r, Q, j. M! A+ i# n / ]# v2 m% S. U& D% ?
http://localhost/admin/Editor/aspx/style.aspx9 W0 W# I3 j& _; p
是无法进入的,会带你到首页,要使用这个页面有两个条件:1 U; O0 L% W+ [9 x) J
1.身份为管理员并且已经登录。
0 Q0 z" I$ J6 w0 O+ w2.访问地址来源为后台地址,也就是请求中必须带上refer:http://localhost/admin/
- r, Y, m9 g, l* G+ M4 B2 x
: l& R; E8 V s% [现在我们第一个条件已经有了,只需要使用火狐的插件或者其他插件来伪造一个refer头就可以直接进入样式管理接口:
, c. s; ?6 G+ U8 P$ D z
" X: C, A7 ~" G( e3 Qhttp://localhost/admin/Editor/aspx/style.aspx# @8 j: G, y/ j& |8 c8 b3 P
剩下的提权应该大家都会了。
: P: g/ N5 I" [/ K & V% P( h: \# Y; x
之所以发出来是因为这个提权方式真的很特别,如果不是本地测试偶然发现,我相信没有多少人会去试一试加refer头。也算是奇葩GetShell了 2 p( f+ q2 T" w4 ^: K5 g
1 M. `1 _/ u. x" L- F
- c$ I# A0 g$ }1 ^& h7 |% {. q, Y1 V! h b$ ~9 Y
提供修复措施:
: e0 Y. X$ j9 k. \( v3 b6 i8 f, J2 _$ @( C& T
加强过滤
0 {% |4 e& ~- a$ P
% X. m3 ~4 M' D8 E6 ^; { |