千博企业网站管理系统是一套比较常见的企业网站管理系统,很多市面上的企业网站都是改它的源码而来的。它的ASPX版本是封装起来的,就是说很多东西是放进DLL里面的,因此给查看源代码带来了难度。漏洞出现的版本是2011版的了,网上挺多的,其实想要说的重点是在后面的GetShell,很有技巧。
+ v+ t& x% q4 l/ v
4 @2 s. c1 d5 V5 m) b) J
( A# V0 M' d1 V3 Z2 ]$ A f 4 Y3 M+ {- C# s9 O7 |
* t$ G u0 Y* a
漏洞名称:千博企业网站管理系统SQL注入
! y; I3 Q6 u0 }, b测试版本:千博企业网站管理系统单语标准版 V2011 Build0608
) d+ ~& |6 W v7 H K0 l漏洞详情:由于搜索处未对输入进行过滤,导致SQL注入。出现漏洞的文件名是:Search.Aspx。4 r. n% G- [$ L, _. f0 l
漏洞验证:
; L4 B- P& a8 K6 X" f) C" j/ v0 g
/ v. [1 e) G2 W2 m$ @访问http://localhost/Search.Aspx?sid=2&keyword=%' and '%Jarett%'='%Jarett,返回所有内容
: e6 @, q) L# r1 t访问http://www.xxx.com/Search.Aspx?sid=2&keyword=%' and '%Jarett%'='%sb,返回为空
4 h( j! w# p5 d @( d
$ U% d# a: D; c o7 i那么就是存在注入了,不过可能无法直接union出来,要折半查找,慢慢手工刷吧,不一会儿,就刷到你脑残了。+ t# }3 r) c+ ^8 i d" C# B3 f/ ^" e* N
, ^ n( Z4 @; Z; g4 Q% p. \- {. J1 ~
4 z0 ~- C; Z$ Q8 G! R: V6 \ 5 ?+ W3 k+ z" @+ d
得到密码以后一般直接加个admin目录就是后台了,不出意外的话,而且进入了后台以后,不出意外的话,你是无法GetShell的,但是本地测试时发现了个一个很有技巧的GetShell方法。这个系统使用了eWebEditor,但是无法直接利用,已经经过二次DLL封装处理的了。直接访问:
/ A% ~7 F& G3 V" g$ [5 D
: M; I4 X* p" ?http://localhost/admin/Editor/aspx/style.aspx+ ^% h4 [* \! C* o5 ^- `* x, T
是无法进入的,会带你到首页,要使用这个页面有两个条件:! _1 ~7 ?% ~. \8 t
1.身份为管理员并且已经登录。$ N5 I- k+ f2 k' S& f# d( D+ W1 d
2.访问地址来源为后台地址,也就是请求中必须带上refer:http://localhost/admin/
% |; \+ A g( H4 H: a9 } 8 f2 O; c n$ F7 q* L0 E0 w
现在我们第一个条件已经有了,只需要使用火狐的插件或者其他插件来伪造一个refer头就可以直接进入样式管理接口:& ^. A3 L: I0 b3 W
" ~, w) A* c+ ~7 u" g
http://localhost/admin/Editor/aspx/style.aspx. o% o, j3 |: F g2 z
剩下的提权应该大家都会了。7 s- S6 C+ w* ~9 ?. R J' o
! E) y5 t. n! p* M$ T) n8 F1 D
之所以发出来是因为这个提权方式真的很特别,如果不是本地测试偶然发现,我相信没有多少人会去试一试加refer头。也算是奇葩GetShell了 + ~5 w9 A1 c( b5 e
# B2 T! |% b9 o4 X/ e ) f" y N, I) @& Y
( i, t. o7 z; V+ x d提供修复措施:
/ j- ^2 H/ c/ @
7 e/ v2 Q" l s- M7 }5 H: [加强过滤8 Y0 C9 }3 n1 S5 ~
` ]/ C1 ], d
|