千博企业网站管理系统是一套比较常见的企业网站管理系统,很多市面上的企业网站都是改它的源码而来的。它的ASPX版本是封装起来的,就是说很多东西是放进DLL里面的,因此给查看源代码带来了难度。漏洞出现的版本是2011版的了,网上挺多的,其实想要说的重点是在后面的GetShell,很有技巧。! p) ]9 |# T+ e
( [5 r5 Z2 u' e/ o
7 W/ P! r9 L" _' ], b+ @7 ~; A
; U# a: T; P' _; C
4 d6 W" m, `% I3 |
漏洞名称:千博企业网站管理系统SQL注入5 A# F: D, b! r8 O4 B+ q# T% Q4 S& @
测试版本:千博企业网站管理系统单语标准版 V2011 Build0608
m$ o) T% O: f漏洞详情:由于搜索处未对输入进行过滤,导致SQL注入。出现漏洞的文件名是:Search.Aspx。7 x1 z _& M" }/ }
漏洞验证:
% g3 Z& w, y- Z6 M
$ q$ P2 R/ A6 z+ w) ~% j访问http://localhost/Search.Aspx?sid=2&keyword=%' and '%Jarett%'='%Jarett,返回所有内容7 i# K! a, o6 p$ o; j t: }
访问http://www.xxx.com/Search.Aspx?sid=2&keyword=%' and '%Jarett%'='%sb,返回为空
; F+ Y5 b% a6 q* x% U1 W 7 h$ r# t1 g% |4 r' n
那么就是存在注入了,不过可能无法直接union出来,要折半查找,慢慢手工刷吧,不一会儿,就刷到你脑残了。
/ M+ ^& B0 r5 u3 X' Q# C : v3 B' {8 V* P' V
+ s2 f* M+ d, B- u3 n6 P- _ % _4 _) T/ {; f
得到密码以后一般直接加个admin目录就是后台了,不出意外的话,而且进入了后台以后,不出意外的话,你是无法GetShell的,但是本地测试时发现了个一个很有技巧的GetShell方法。这个系统使用了eWebEditor,但是无法直接利用,已经经过二次DLL封装处理的了。直接访问:
' E6 i7 ~; ^) a, g1 I! ~' {* X 4 b0 V' p& t) o6 [9 Q+ h
http://localhost/admin/Editor/aspx/style.aspx
' k3 L/ a x2 {8 H# ]0 L是无法进入的,会带你到首页,要使用这个页面有两个条件:
9 }" h3 q" e ]3 q1 _. y* t. _' f( O. d1.身份为管理员并且已经登录。
4 w' [ a |) r& e2.访问地址来源为后台地址,也就是请求中必须带上refer:http://localhost/admin/
# u+ Y) E+ D; E. T9 i
0 n0 f, T+ T, N6 r) |现在我们第一个条件已经有了,只需要使用火狐的插件或者其他插件来伪造一个refer头就可以直接进入样式管理接口:
' [& e% k; s. Y3 F: t" v1 x
- x8 ^- }; |! lhttp://localhost/admin/Editor/aspx/style.aspx
3 o9 Y! O- P7 P% t剩下的提权应该大家都会了。" I. ^# R( I' J. F! D L- C+ s
' O0 Q! \& n1 A之所以发出来是因为这个提权方式真的很特别,如果不是本地测试偶然发现,我相信没有多少人会去试一试加refer头。也算是奇葩GetShell了 , S$ N" w( U: S$ N! D& U& b
6 a/ t2 F& ?( ^( F& u6 K
' N: `* ]) B3 Y# j
' s7 Z9 y) u1 h8 l/ d( G- e
提供修复措施:* x W0 e5 E; ~$ T( b" l6 h- |
q& N0 Z. G# T/ p4 x
加强过滤# s3 i1 E7 h6 T+ R9 d
! A8 ^- V% M- L* Q4 x
|