千博企业网站管理系统是一套比较常见的企业网站管理系统,很多市面上的企业网站都是改它的源码而来的。它的ASPX版本是封装起来的,就是说很多东西是放进DLL里面的,因此给查看源代码带来了难度。漏洞出现的版本是2011版的了,网上挺多的,其实想要说的重点是在后面的GetShell,很有技巧。
% Z" w5 g% n9 _) p+ k/ L$ k8 ?; y( k _7 F \# t# D) x
" \6 q" W3 r1 i, I/ y- C
. L7 [7 y! ?. l7 E; a# C6 K- k; V
- T ]9 Z( i; ^% i/ w漏洞名称:千博企业网站管理系统SQL注入$ B R, `: L% W6 n
测试版本:千博企业网站管理系统单语标准版 V2011 Build0608: v) t* G3 q Y2 d8 ~6 \! G4 B
漏洞详情:由于搜索处未对输入进行过滤,导致SQL注入。出现漏洞的文件名是:Search.Aspx。2 X# S6 j1 H; x" N- E( k9 Q
漏洞验证:$ ?: Q" v% |2 X* D2 H
- H. L2 b% d" ~: A. n' P
访问http://localhost/Search.Aspx?sid=2&keyword=%' and '%Jarett%'='%Jarett,返回所有内容
7 |3 T( D% a7 v- T# h9 w9 i- G; Q访问http://www.xxx.com/Search.Aspx?sid=2&keyword=%' and '%Jarett%'='%sb,返回为空' d( ^$ {. U, P' S/ [4 {% E
7 p- Z0 f; T, ]/ e
那么就是存在注入了,不过可能无法直接union出来,要折半查找,慢慢手工刷吧,不一会儿,就刷到你脑残了。
% v7 A2 M& i0 y/ [+ W1 z% x( E " B0 K6 |3 c4 p
& a& S, L5 C- Y& M
, e C2 U1 G; g* K+ F得到密码以后一般直接加个admin目录就是后台了,不出意外的话,而且进入了后台以后,不出意外的话,你是无法GetShell的,但是本地测试时发现了个一个很有技巧的GetShell方法。这个系统使用了eWebEditor,但是无法直接利用,已经经过二次DLL封装处理的了。直接访问:$ d! o$ ^6 P. X6 G5 m4 k) J
1 x6 b! r2 `; H3 L/ ^
http://localhost/admin/Editor/aspx/style.aspx8 q8 I: q2 d0 H }. L
是无法进入的,会带你到首页,要使用这个页面有两个条件:
4 h A# ^! ], r2 ]: g$ U1.身份为管理员并且已经登录。4 U% }2 T. E$ d3 J' O% K0 U
2.访问地址来源为后台地址,也就是请求中必须带上refer:http://localhost/admin/; p3 _: w/ s* u6 |6 w( d1 d$ }
) K4 u8 ]# h" Z$ U. Z现在我们第一个条件已经有了,只需要使用火狐的插件或者其他插件来伪造一个refer头就可以直接进入样式管理接口:
9 i/ j1 C5 I5 K& S& I0 ^ ( x6 H2 ~7 a( L
http://localhost/admin/Editor/aspx/style.aspx1 H% s7 E& B: o' C- V6 M- j7 z& K
剩下的提权应该大家都会了。
# ?2 Y J' l. Y$ X+ `6 z* ^) {' T
) R. d7 D7 d! q; y8 S之所以发出来是因为这个提权方式真的很特别,如果不是本地测试偶然发现,我相信没有多少人会去试一试加refer头。也算是奇葩GetShell了 % X% C: Z0 I. e# |
* ~5 C6 F( e& H/ H0 v
8 A8 W/ b& D- j f) P+ _
; O/ q1 B( i6 r$ X- ~' U0 @% K提供修复措施:
& l7 F$ x7 R! |& `2 ~" P6 O$ p
: r+ u* l5 H/ E) C/ q) Z. S加强过滤
6 i K ]8 G% {) b1 Z& O9 Z- U T; b( n n D2 f0 J m' w8 o
|