千博企业网站管理系统是一套比较常见的企业网站管理系统,很多市面上的企业网站都是改它的源码而来的。它的ASPX版本是封装起来的,就是说很多东西是放进DLL里面的,因此给查看源代码带来了难度。漏洞出现的版本是2011版的了,网上挺多的,其实想要说的重点是在后面的GetShell,很有技巧。& \8 P+ L. Z4 B$ m
+ `1 W- q2 A/ n7 ]4 w 8 s+ d6 `' g# J) R
7 k4 s0 e1 E6 ^ w3 V
! g3 \2 {3 Q5 d5 z漏洞名称:千博企业网站管理系统SQL注入! H0 V7 g3 T0 m' @8 ?- [
测试版本:千博企业网站管理系统单语标准版 V2011 Build0608/ C3 j5 q5 V* {: h& A
漏洞详情:由于搜索处未对输入进行过滤,导致SQL注入。出现漏洞的文件名是:Search.Aspx。
# v" k( P* S- s' n4 G- b: R! l* z漏洞验证:1 g1 u7 q9 B8 Y9 Q
& w4 L; P2 b* x X6 y; M8 [访问http://localhost/Search.Aspx?sid=2&keyword=%' and '%Jarett%'='%Jarett,返回所有内容
4 b! ]' s: y" s, i7 e! R# Z访问http://www.xxx.com/Search.Aspx?sid=2&keyword=%' and '%Jarett%'='%sb,返回为空
4 I7 b' n, Q9 A* c( }9 ] + }$ ~6 Q' F) N1 Y
那么就是存在注入了,不过可能无法直接union出来,要折半查找,慢慢手工刷吧,不一会儿,就刷到你脑残了。
! l, r* R. I# ~, |7 F: _7 q
8 Z# D( `$ F0 d$ x2 E $ W! `! x6 l( H+ U; \6 b
2 V" y/ y9 ~& h. x& m) V4 v/ P, `+ u# e得到密码以后一般直接加个admin目录就是后台了,不出意外的话,而且进入了后台以后,不出意外的话,你是无法GetShell的,但是本地测试时发现了个一个很有技巧的GetShell方法。这个系统使用了eWebEditor,但是无法直接利用,已经经过二次DLL封装处理的了。直接访问:6 Q0 i/ P; M# _5 b
4 l% q+ _. k g; Ahttp://localhost/admin/Editor/aspx/style.aspx, q4 l- c5 Y. z' @: `+ y( d3 \
是无法进入的,会带你到首页,要使用这个页面有两个条件:
: ]) {# j3 P' S. c2 M0 ~- G1.身份为管理员并且已经登录。9 |* Q% q: X( s) O2 z3 s
2.访问地址来源为后台地址,也就是请求中必须带上refer:http://localhost/admin/: A% h& x) N( {- I: v, u- B: \9 Y4 A
2 y% g$ v9 u$ ^0 L9 r# l) B" _. g0 F现在我们第一个条件已经有了,只需要使用火狐的插件或者其他插件来伪造一个refer头就可以直接进入样式管理接口:
& ~& W# m' s: [ ( ?3 l& E \2 ^' _5 }" o- t8 s
http://localhost/admin/Editor/aspx/style.aspx
' X. \' {/ C- x剩下的提权应该大家都会了。
. R" b9 Z T+ P" k* y* Q/ ^ & L2 C+ G) b$ k8 ^5 C, ^
之所以发出来是因为这个提权方式真的很特别,如果不是本地测试偶然发现,我相信没有多少人会去试一试加refer头。也算是奇葩GetShell了
) V, X" b& ?- ]* w( U/ F3 g' w- d! T1 m X
* ~. L# _6 M% V* T3 D
. [5 n( v% Q I1 o8 M+ s. E提供修复措施:
) s j7 m* n: H! m
# Q7 Y0 w, Z- H( E1 ?加强过滤. H3 X8 N, _* `7 J- o4 \
+ M5 m3 P2 B: i- ~7 [( K9 ]* X |