千博企业网站管理系统是一套比较常见的企业网站管理系统,很多市面上的企业网站都是改它的源码而来的。它的ASPX版本是封装起来的,就是说很多东西是放进DLL里面的,因此给查看源代码带来了难度。漏洞出现的版本是2011版的了,网上挺多的,其实想要说的重点是在后面的GetShell,很有技巧。" ]7 Z& W% @& W5 T* {5 @8 H
) b) H- A- {: Q: r! B l5 h$ Z
# K- H8 k3 U2 n, Z
q: a% \3 D' ^( Y+ p& `/ S / I) T, S, |! I, w( [9 b
漏洞名称:千博企业网站管理系统SQL注入 P5 E3 k# f* X3 Z: j
测试版本:千博企业网站管理系统单语标准版 V2011 Build0608
2 q5 H# P. |. V! R- L$ b3 v: O漏洞详情:由于搜索处未对输入进行过滤,导致SQL注入。出现漏洞的文件名是:Search.Aspx。9 S, @0 C1 n& ~
漏洞验证: k7 ?" N7 S* s! E
% I. `( m9 y* X' n: R5 Y
访问http://localhost/Search.Aspx?sid=2&keyword=%' and '%Jarett%'='%Jarett,返回所有内容
% a( ^8 ^9 B' {, k. I- f访问http://www.xxx.com/Search.Aspx?sid=2&keyword=%' and '%Jarett%'='%sb,返回为空
" a1 V3 a) n2 a
- O# j" B" s6 j& v' G那么就是存在注入了,不过可能无法直接union出来,要折半查找,慢慢手工刷吧,不一会儿,就刷到你脑残了。1 \7 S: p0 B. d" _3 Y
* M8 d% J; Z+ M
; k0 O; t/ F5 Q& ~* v" h8 V0 M- `& O
! U, U) R3 H0 R u, I& E6 q1 t得到密码以后一般直接加个admin目录就是后台了,不出意外的话,而且进入了后台以后,不出意外的话,你是无法GetShell的,但是本地测试时发现了个一个很有技巧的GetShell方法。这个系统使用了eWebEditor,但是无法直接利用,已经经过二次DLL封装处理的了。直接访问:5 z* |2 j5 M; w) I0 w
% i# W! j) s Z" [4 m
http://localhost/admin/Editor/aspx/style.aspx2 e$ F# E) @6 A" A4 r
是无法进入的,会带你到首页,要使用这个页面有两个条件:
( ?! b5 w. _$ Q9 [1.身份为管理员并且已经登录。
: G5 b4 n5 l' h* a2.访问地址来源为后台地址,也就是请求中必须带上refer:http://localhost/admin/
# O" {( ~' K: d8 T 7 T$ y0 k) @0 _3 h- s
现在我们第一个条件已经有了,只需要使用火狐的插件或者其他插件来伪造一个refer头就可以直接进入样式管理接口:
9 W: n$ r+ @' k7 J) m% u 4 N3 w' M$ `( G3 [/ W* n; R( q3 A
http://localhost/admin/Editor/aspx/style.aspx3 V, m" I9 H/ \: P$ R; @- x5 z
剩下的提权应该大家都会了。
8 m# B# \8 W7 I# _
8 i/ O+ g; i, @5 W. [0 {之所以发出来是因为这个提权方式真的很特别,如果不是本地测试偶然发现,我相信没有多少人会去试一试加refer头。也算是奇葩GetShell了
8 Y' u+ V% i7 O6 e7 w3 @2 W6 [9 d2 O$ f2 G7 {/ |$ a
8 [2 r4 j1 `5 Z5 f3 p; c4 W
/ Y! H( ^: C; h+ @( m3 ~7 o提供修复措施:
7 p' g8 Z% U; u/ i
1 c" V- Q9 d% s! x加强过滤5 A- Q5 I9 E7 u4 s
" A2 b& d& g# w$ w |