千博企业网站管理系统是一套比较常见的企业网站管理系统,很多市面上的企业网站都是改它的源码而来的。它的ASPX版本是封装起来的,就是说很多东西是放进DLL里面的,因此给查看源代码带来了难度。漏洞出现的版本是2011版的了,网上挺多的,其实想要说的重点是在后面的GetShell,很有技巧。
* t+ ]* B+ l( B, k4 j
& D/ Z4 J* R- [ j) J) D9 C / N' l( u, E4 \: O- \
Q- y ~' q) Z' c; s* Q5 k& Z
7 G8 ]. J4 \$ |5 d3 ^漏洞名称:千博企业网站管理系统SQL注入3 F5 H: z6 i; s/ u7 \5 J& f
测试版本:千博企业网站管理系统单语标准版 V2011 Build0608
" ]+ H# p& ^1 x, e& g漏洞详情:由于搜索处未对输入进行过滤,导致SQL注入。出现漏洞的文件名是:Search.Aspx。. t0 G: A5 s, J
漏洞验证:
4 W1 f/ j3 _+ W1 b* Y
( D* ^1 g0 c L% @+ M访问http://localhost/Search.Aspx?sid=2&keyword=%' and '%Jarett%'='%Jarett,返回所有内容
* J, i* }9 E0 q: @( u1 G访问http://www.xxx.com/Search.Aspx?sid=2&keyword=%' and '%Jarett%'='%sb,返回为空' g* g! O/ T3 {5 L& H$ R
4 H# \" i: l4 O那么就是存在注入了,不过可能无法直接union出来,要折半查找,慢慢手工刷吧,不一会儿,就刷到你脑残了。
% a" X, _- J, W ' D4 u& W; K6 v& B3 R9 R# E; [
& N* S3 Z) G) m: y) Z
) q2 r% L" _$ f0 x
得到密码以后一般直接加个admin目录就是后台了,不出意外的话,而且进入了后台以后,不出意外的话,你是无法GetShell的,但是本地测试时发现了个一个很有技巧的GetShell方法。这个系统使用了eWebEditor,但是无法直接利用,已经经过二次DLL封装处理的了。直接访问:/ B: U) ~' h) A" t
; f/ R. ~0 h- e4 [' i$ J# ]
http://localhost/admin/Editor/aspx/style.aspx. v# M) Q- V$ H6 W
是无法进入的,会带你到首页,要使用这个页面有两个条件:
* Q2 l; |% ^% X% [/ F8 x+ ?1.身份为管理员并且已经登录。* l4 Z1 P2 [% K" J
2.访问地址来源为后台地址,也就是请求中必须带上refer:http://localhost/admin/
( ?8 v, |9 l) f; Y% v8 A
! D& J: ]; Q0 ~- A2 ^现在我们第一个条件已经有了,只需要使用火狐的插件或者其他插件来伪造一个refer头就可以直接进入样式管理接口:5 F J1 E% k* y" G0 K7 b1 l) Z
) O, k- f; h5 S% X
http://localhost/admin/Editor/aspx/style.aspx
2 K6 |2 I' o$ z) Z1 _1 j& p0 m) w6 l剩下的提权应该大家都会了。/ |+ E9 q' C0 _4 B: N2 w
3 H' H) `. i. ~/ V+ n之所以发出来是因为这个提权方式真的很特别,如果不是本地测试偶然发现,我相信没有多少人会去试一试加refer头。也算是奇葩GetShell了 / a) M: B/ b6 K/ f) O. e6 T( J
' Q* q2 l0 f) S
, Y$ n( V$ O6 C: D8 ]; O3 C9 v9 @5 Z; {4 v1 }4 d) F# |
提供修复措施:
/ ^8 b7 L) a: z( j5 f! m! V# i
( R, J5 H9 H8 k加强过滤
/ [: @" l3 C3 L3 A9 ~7 W. S- I: \8 |1 x8 s }$ u
|