千博企业网站管理系统是一套比较常见的企业网站管理系统,很多市面上的企业网站都是改它的源码而来的。它的ASPX版本是封装起来的,就是说很多东西是放进DLL里面的,因此给查看源代码带来了难度。漏洞出现的版本是2011版的了,网上挺多的,其实想要说的重点是在后面的GetShell,很有技巧。; ?6 j0 g# z) a# m7 C
' G( a' l9 H5 P; ^
( e) [' ^" H) g
; R8 r# d' v4 _7 V
( g3 h' Y6 d6 x漏洞名称:千博企业网站管理系统SQL注入, T/ z6 y M6 C7 b+ t
测试版本:千博企业网站管理系统单语标准版 V2011 Build0608. D, |5 r- ]& X4 i, p
漏洞详情:由于搜索处未对输入进行过滤,导致SQL注入。出现漏洞的文件名是:Search.Aspx。
. e- E& C; E- ~" B5 x+ v2 j8 Y* O漏洞验证:' W3 N( }4 g0 G
3 a$ P4 F# F |! s: h. w
访问http://localhost/Search.Aspx?sid=2&keyword=%' and '%Jarett%'='%Jarett,返回所有内容
5 I# w1 ^- A$ @( z1 T- E; F- ~访问http://www.xxx.com/Search.Aspx?sid=2&keyword=%' and '%Jarett%'='%sb,返回为空8 P0 l: T& U3 w! u
: l$ p1 ^% O" j9 D2 I
那么就是存在注入了,不过可能无法直接union出来,要折半查找,慢慢手工刷吧,不一会儿,就刷到你脑残了。3 O; G5 R& _9 c" ^
; y/ C' T& ]5 s& w. d 5 R; G; f0 y7 b5 L
% q |1 v! v4 U得到密码以后一般直接加个admin目录就是后台了,不出意外的话,而且进入了后台以后,不出意外的话,你是无法GetShell的,但是本地测试时发现了个一个很有技巧的GetShell方法。这个系统使用了eWebEditor,但是无法直接利用,已经经过二次DLL封装处理的了。直接访问:
1 g& R& M R8 x, b. H9 H" H0 G 7 |) L* U! ~- I8 C4 j, w/ E
http://localhost/admin/Editor/aspx/style.aspx! |6 h/ J0 J( ?6 r
是无法进入的,会带你到首页,要使用这个页面有两个条件:
: n# X7 U% U5 ?6 z1.身份为管理员并且已经登录。- G3 T1 @ G# |; P% ~! S
2.访问地址来源为后台地址,也就是请求中必须带上refer:http://localhost/admin/6 _% F; @- H4 s8 j( [% H
0 S5 ~: q) Y7 w, e8 p& E% ?: f
现在我们第一个条件已经有了,只需要使用火狐的插件或者其他插件来伪造一个refer头就可以直接进入样式管理接口:1 O) b! H% T6 r; H7 {2 F5 u( H
: R% h$ o x+ }; e0 ehttp://localhost/admin/Editor/aspx/style.aspx9 ^! a# \1 s4 m$ \) P- W/ B4 B- [
剩下的提权应该大家都会了。
- I& j/ g$ z/ o8 w6 A
0 w$ C) E$ n7 ~2 ]0 P之所以发出来是因为这个提权方式真的很特别,如果不是本地测试偶然发现,我相信没有多少人会去试一试加refer头。也算是奇葩GetShell了 . d7 R9 R! ^1 C0 H
% R# n8 B6 S1 J6 s: v$ Z 7 e3 x" `5 `4 Y, R
7 |+ ]( [ S4 t4 }提供修复措施:
* U: m. _5 Y) t" N5 D
% N/ P% {% T8 S% s/ _加强过滤# m: O% ^. Z+ K: J6 m
( a8 m: j! C a8 H' \
|