千博企业网站管理系统是一套比较常见的企业网站管理系统,很多市面上的企业网站都是改它的源码而来的。它的ASPX版本是封装起来的,就是说很多东西是放进DLL里面的,因此给查看源代码带来了难度。漏洞出现的版本是2011版的了,网上挺多的,其实想要说的重点是在后面的GetShell,很有技巧。 G- q% C+ |" ]- q/ C* K3 z
4 n% X' b7 c7 W) C o2 S8 l0 C 2 ~: L1 t# P; S
5 \) F2 H& X( s
# h h4 ~: d% M+ y8 H3 s4 {漏洞名称:千博企业网站管理系统SQL注入: v' N! n5 x& X
测试版本:千博企业网站管理系统单语标准版 V2011 Build0608. h( w! v' C9 g
漏洞详情:由于搜索处未对输入进行过滤,导致SQL注入。出现漏洞的文件名是:Search.Aspx。
* H5 j6 w+ v/ Q; ~7 h. F$ ~漏洞验证:% X1 ^( x/ j/ I/ \' ]
- Z' h8 Z: s) w0 L( b
访问http://localhost/Search.Aspx?sid=2&keyword=%' and '%Jarett%'='%Jarett,返回所有内容
5 k7 I: f/ h: b" N5 w: L访问http://www.xxx.com/Search.Aspx?sid=2&keyword=%' and '%Jarett%'='%sb,返回为空
* r# Z! l% X( q 5 b1 ?$ A$ i* X" Q& y- i
那么就是存在注入了,不过可能无法直接union出来,要折半查找,慢慢手工刷吧,不一会儿,就刷到你脑残了。
( |6 [9 ~/ g& z7 ^: h! F. Q / y ^/ V' @" ?* S. U! t
3 S# r) A, P" k0 C
) v) Z3 j5 G% }* v) k5 x0 @得到密码以后一般直接加个admin目录就是后台了,不出意外的话,而且进入了后台以后,不出意外的话,你是无法GetShell的,但是本地测试时发现了个一个很有技巧的GetShell方法。这个系统使用了eWebEditor,但是无法直接利用,已经经过二次DLL封装处理的了。直接访问:
; L v% {( |, p. {, T: | % Q* Q' ^3 e4 ~1 Z( U) n
http://localhost/admin/Editor/aspx/style.aspx- F9 A* ]3 @9 r. c! @9 `( U
是无法进入的,会带你到首页,要使用这个页面有两个条件:
% n2 }! t/ }, T1 T1.身份为管理员并且已经登录。) Q0 o' t" g$ \! E' J
2.访问地址来源为后台地址,也就是请求中必须带上refer:http://localhost/admin/8 Z- D! y* [ `) Q* B
7 W/ j$ X( z& G现在我们第一个条件已经有了,只需要使用火狐的插件或者其他插件来伪造一个refer头就可以直接进入样式管理接口:
0 r5 E! F% R2 h J! p6 ~8 f & E9 |8 O, T- n% C
http://localhost/admin/Editor/aspx/style.aspx8 W) I- B% _( F( S0 }
剩下的提权应该大家都会了。
6 q! t, c j# t6 \! u P& c0 G% X 5 \0 ?3 z, H, P" s- y# Y' J' T
之所以发出来是因为这个提权方式真的很特别,如果不是本地测试偶然发现,我相信没有多少人会去试一试加refer头。也算是奇葩GetShell了
# d) }. u( c7 ?, W. o3 x! T" f7 B9 u$ o8 U
. ~' I$ }1 M" c' t+ p
& `/ R9 b+ D: s4 ]2 k0 j提供修复措施:
' `3 w3 c2 F4 x+ w$ ~. [! A( a$ c
加强过滤
1 t: v2 X8 }" n4 a+ f, B' X# p1 y; ^& h/ V6 \
|