千博企业网站管理系统是一套比较常见的企业网站管理系统,很多市面上的企业网站都是改它的源码而来的。它的ASPX版本是封装起来的,就是说很多东西是放进DLL里面的,因此给查看源代码带来了难度。漏洞出现的版本是2011版的了,网上挺多的,其实想要说的重点是在后面的GetShell,很有技巧。) C8 t/ p' j7 ]: T5 D' V$ f# E
2 }0 Y$ U; w- [6 Q; y6 ]3 J
' M" s; W8 `$ g. z2 I
) F- y- V7 Q5 C0 ]4 h1 ` v) ?+ y
1 l5 g: e* Z0 B6 W漏洞名称:千博企业网站管理系统SQL注入5 f2 ]5 N s% s3 }1 t* V* C
测试版本:千博企业网站管理系统单语标准版 V2011 Build0608 a0 T+ \ D/ v$ i: L# Q
漏洞详情:由于搜索处未对输入进行过滤,导致SQL注入。出现漏洞的文件名是:Search.Aspx。
; I3 Y% c* m) r+ U, w- ^漏洞验证:
, [8 L+ X+ v, Z l. O6 r5 c , B7 Q. h0 j7 L1 s5 |: q, ~
访问http://localhost/Search.Aspx?sid=2&keyword=%' and '%Jarett%'='%Jarett,返回所有内容
9 x: O/ U8 X, L! S1 H0 x访问http://www.xxx.com/Search.Aspx?sid=2&keyword=%' and '%Jarett%'='%sb,返回为空
; u6 v" N+ V; l: S% S # y' Q; x# Z1 Y+ X1 ~
那么就是存在注入了,不过可能无法直接union出来,要折半查找,慢慢手工刷吧,不一会儿,就刷到你脑残了。
- Z7 ?3 q5 z I" s
5 ]4 `. }6 f" d7 O) F
% n; D6 o+ |. |, Q 4 J, G0 o2 D; t6 L* o
得到密码以后一般直接加个admin目录就是后台了,不出意外的话,而且进入了后台以后,不出意外的话,你是无法GetShell的,但是本地测试时发现了个一个很有技巧的GetShell方法。这个系统使用了eWebEditor,但是无法直接利用,已经经过二次DLL封装处理的了。直接访问:7 [1 C/ ]1 p( Q' K; I F7 ?
' R- A' s0 u; D! [3 x& M
http://localhost/admin/Editor/aspx/style.aspx3 Q6 T# I* M' {% g; K+ z
是无法进入的,会带你到首页,要使用这个页面有两个条件:
, `+ X8 b4 B$ j3 B# X% A. z1 J: T1.身份为管理员并且已经登录。
7 W" Q# x# _. w* o8 H2 D2 o9 g2.访问地址来源为后台地址,也就是请求中必须带上refer:http://localhost/admin/, D, ~1 W: @2 a6 }
9 O, T$ P5 @5 m9 k6 E+ K现在我们第一个条件已经有了,只需要使用火狐的插件或者其他插件来伪造一个refer头就可以直接进入样式管理接口:
& A/ z f' H/ i1 o R & M1 @8 y. e! j* M: N' b; a B
http://localhost/admin/Editor/aspx/style.aspx
) V6 L' D4 r6 p0 Z% y剩下的提权应该大家都会了。
5 ?9 t# P3 I; [ A* o* _5 k
( Y1 ~9 A1 q- k, _* f之所以发出来是因为这个提权方式真的很特别,如果不是本地测试偶然发现,我相信没有多少人会去试一试加refer头。也算是奇葩GetShell了 ' c( f( m( u+ ^3 F
& Y9 J, {( a, ]3 z$ \# k0 q; {
; A6 }. [0 e. E, |9 E) u
( i& s4 L# j F# p# K提供修复措施:$ B$ K' C% i4 L6 C( U. K# w# x
$ Z f3 Z9 x+ c加强过滤( h6 I: E# ~! W4 `( j) H; D2 x
5 K7 Z6 \! B8 w7 R: @ |