千博企业网站管理系统是一套比较常见的企业网站管理系统,很多市面上的企业网站都是改它的源码而来的。它的ASPX版本是封装起来的,就是说很多东西是放进DLL里面的,因此给查看源代码带来了难度。漏洞出现的版本是2011版的了,网上挺多的,其实想要说的重点是在后面的GetShell,很有技巧。' y: T' r2 K1 p# Q
' G, N9 ~; D1 y2 q6 W' A# D
7 x1 R8 Q0 Z. x! [# U; |. l1 \5 R
! M$ \% T4 l9 m$ D" b2 g) F . j9 `2 P3 Y+ b$ X
漏洞名称:千博企业网站管理系统SQL注入
0 P* x; g) y; q测试版本:千博企业网站管理系统单语标准版 V2011 Build0608
( p: e" x& ?. b! x5 H( A: w8 }. L漏洞详情:由于搜索处未对输入进行过滤,导致SQL注入。出现漏洞的文件名是:Search.Aspx。, L5 l) N6 I; m
漏洞验证:
* J' m. B' ?5 o" U" q( J
* [ Y# n" k4 H( o- |: s访问http://localhost/Search.Aspx?sid=2&keyword=%' and '%Jarett%'='%Jarett,返回所有内容/ n: z4 B* _8 `/ o1 I# h
访问http://www.xxx.com/Search.Aspx?sid=2&keyword=%' and '%Jarett%'='%sb,返回为空
, E8 |/ h/ a8 |8 B) E7 X
8 ^9 U5 j; S0 s& X' ^/ N" _+ u那么就是存在注入了,不过可能无法直接union出来,要折半查找,慢慢手工刷吧,不一会儿,就刷到你脑残了。9 R+ B# r E/ c% Z
# m7 D* {$ C3 k+ e0 F
5 q9 S$ _( {% V& u( b ' S6 r8 |/ ^! y+ s; }7 P( E% ^
得到密码以后一般直接加个admin目录就是后台了,不出意外的话,而且进入了后台以后,不出意外的话,你是无法GetShell的,但是本地测试时发现了个一个很有技巧的GetShell方法。这个系统使用了eWebEditor,但是无法直接利用,已经经过二次DLL封装处理的了。直接访问:
5 h K& O5 D* f$ m5 D! G 3 t. J D* `8 w7 @" E: b6 s2 _
http://localhost/admin/Editor/aspx/style.aspx
0 l: d- v* z1 Z4 E. n/ ]1 I4 @是无法进入的,会带你到首页,要使用这个页面有两个条件:
" C4 M9 i9 i8 m1.身份为管理员并且已经登录。6 n% Y4 D- G7 t" z
2.访问地址来源为后台地址,也就是请求中必须带上refer:http://localhost/admin/; L9 Y1 c* E1 [( @
2 U) [0 h* S. C1 v3 n" Z现在我们第一个条件已经有了,只需要使用火狐的插件或者其他插件来伪造一个refer头就可以直接进入样式管理接口:
$ P1 l e7 k. ]; T9 f
- n7 l4 n' e2 y: A/ W" b( B( Khttp://localhost/admin/Editor/aspx/style.aspx, }; O% \3 r% @$ y) D) r" V
剩下的提权应该大家都会了。. e, [# h6 \% w! C
3 w: W) R, T$ d+ N/ K! L4 X之所以发出来是因为这个提权方式真的很特别,如果不是本地测试偶然发现,我相信没有多少人会去试一试加refer头。也算是奇葩GetShell了 1 U! Y4 F8 I! i, N$ [
% q, S, w, Y8 \
& u9 Y# \' R+ F! c3 V7 i6 q+ A
' g+ W3 L1 _+ k; s9 m1 p0 c提供修复措施:; a$ {0 S4 S6 x
4 `6 V% b$ ]5 p7 x: c加强过滤( J4 e+ B9 K; V
9 Q+ M/ @: ]5 p* m+ D |