千博企业网站管理系统是一套比较常见的企业网站管理系统,很多市面上的企业网站都是改它的源码而来的。它的ASPX版本是封装起来的,就是说很多东西是放进DLL里面的,因此给查看源代码带来了难度。漏洞出现的版本是2011版的了,网上挺多的,其实想要说的重点是在后面的GetShell,很有技巧。+ n0 d' {0 N) E* e
, S" [% U5 Z X$ _% s$ O9 j
& N% q" d) A; A
& g$ e( D1 ?: c) W! B) u : K9 U; M+ @( H& Z
漏洞名称:千博企业网站管理系统SQL注入: V) N8 G* v0 E7 w7 l* J- k. K
测试版本:千博企业网站管理系统单语标准版 V2011 Build0608
9 o% r9 i) T/ b; K3 Z; L0 n& w8 {漏洞详情:由于搜索处未对输入进行过滤,导致SQL注入。出现漏洞的文件名是:Search.Aspx。
6 d u% e, S1 R, l2 ?2 F7 i5 c漏洞验证:( l0 m& M& S) ?: y/ u
* o, T; s4 s. J1 Z; ^5 r
访问http://localhost/Search.Aspx?sid=2&keyword=%' and '%Jarett%'='%Jarett,返回所有内容$ v# b% I5 q9 n7 u
访问http://www.xxx.com/Search.Aspx?sid=2&keyword=%' and '%Jarett%'='%sb,返回为空
, e, Y8 H, l( e 1 q H2 L9 ]; ~2 S7 _6 `6 S m
那么就是存在注入了,不过可能无法直接union出来,要折半查找,慢慢手工刷吧,不一会儿,就刷到你脑残了。
1 G' P! _! D8 L: y+ E
3 f, n v i+ e+ |4 D
- k X$ ]1 o3 Q3 c6 w5 E 5 `# m& G9 \" x2 x8 M& S5 z/ @
得到密码以后一般直接加个admin目录就是后台了,不出意外的话,而且进入了后台以后,不出意外的话,你是无法GetShell的,但是本地测试时发现了个一个很有技巧的GetShell方法。这个系统使用了eWebEditor,但是无法直接利用,已经经过二次DLL封装处理的了。直接访问:
/ I9 z4 O6 I) K) e5 R' F! }4 W* h# L , v" v7 \8 F/ E9 q2 r
http://localhost/admin/Editor/aspx/style.aspx
1 C* v- _% R$ V9 u& K, m, h; B9 o是无法进入的,会带你到首页,要使用这个页面有两个条件:' u9 ?! P: r7 K2 X
1.身份为管理员并且已经登录。
0 s I0 k/ N. S _1 r w5 D; N2.访问地址来源为后台地址,也就是请求中必须带上refer:http://localhost/admin/3 B) F8 g" }3 C1 S
! `, t( P l) o" r' Q现在我们第一个条件已经有了,只需要使用火狐的插件或者其他插件来伪造一个refer头就可以直接进入样式管理接口:
! u5 C6 H( y( C( I * {0 J1 v/ d; ^5 Z
http://localhost/admin/Editor/aspx/style.aspx
7 ]9 o, x! N- a) }剩下的提权应该大家都会了。" r, `" o. K# n% x9 }
& N4 {9 d; e0 t' p之所以发出来是因为这个提权方式真的很特别,如果不是本地测试偶然发现,我相信没有多少人会去试一试加refer头。也算是奇葩GetShell了
$ S" p# ]+ P9 }% @* s' V4 _6 F0 Y+ x/ d8 h# r' l3 ]
% u$ Z. N4 V: k) X! H' V
9 [* o' e* L/ J7 J1 @) G( @+ v
提供修复措施:5 K9 u z( z3 r1 `8 u
+ |( b. G' l$ U1 p! A加强过滤' ?8 ]4 S2 d4 d) ^* I# G* J% D
& T2 H9 |* R, R3 Y; X! h+ T |