千博企业网站管理系统是一套比较常见的企业网站管理系统,很多市面上的企业网站都是改它的源码而来的。它的ASPX版本是封装起来的,就是说很多东西是放进DLL里面的,因此给查看源代码带来了难度。漏洞出现的版本是2011版的了,网上挺多的,其实想要说的重点是在后面的GetShell,很有技巧。3 N3 g0 A9 Z8 G' y, {
5 \' ?- u) ^$ Z! d0 S8 }
4 |/ [: d% P9 `+ ]! w5 K2 G
, K9 B7 h) T' g$ a
# {/ o% c- f( f' [% p) M
漏洞名称:千博企业网站管理系统SQL注入
/ h& S- Z% [( |5 Y$ F& Y% |测试版本:千博企业网站管理系统单语标准版 V2011 Build06086 i4 n8 `- P# X( e) m. ~+ b/ x& J
漏洞详情:由于搜索处未对输入进行过滤,导致SQL注入。出现漏洞的文件名是:Search.Aspx。
7 c% G k0 c0 J漏洞验证:
- M) T Z% T7 j
2 i6 ~( d- v9 _% s+ s& s访问http://localhost/Search.Aspx?sid=2&keyword=%' and '%Jarett%'='%Jarett,返回所有内容: }( q9 o! I, U6 D4 k
访问http://www.xxx.com/Search.Aspx?sid=2&keyword=%' and '%Jarett%'='%sb,返回为空4 @3 {! Z+ v3 K9 W1 V. l, y
* h9 i7 m k- h6 M! O, v) F
那么就是存在注入了,不过可能无法直接union出来,要折半查找,慢慢手工刷吧,不一会儿,就刷到你脑残了。! F- e( ~1 s. `6 r- u, ~) ?
* q1 w" X& J# `7 L
: Y! |5 a; R8 U4 {
6 M# p( X5 p6 M" c得到密码以后一般直接加个admin目录就是后台了,不出意外的话,而且进入了后台以后,不出意外的话,你是无法GetShell的,但是本地测试时发现了个一个很有技巧的GetShell方法。这个系统使用了eWebEditor,但是无法直接利用,已经经过二次DLL封装处理的了。直接访问:
) B2 N! R: V: \& F; H; x ) a7 T; ~) b c2 T$ k
http://localhost/admin/Editor/aspx/style.aspx
( `) i( i- V/ d7 T5 W4 k是无法进入的,会带你到首页,要使用这个页面有两个条件:
/ O& r. ^/ t t) d1 E1.身份为管理员并且已经登录。$ w: M' x' j: ?/ N$ l O) c7 {
2.访问地址来源为后台地址,也就是请求中必须带上refer:http://localhost/admin/
4 Y; U5 v) O) y; T7 ^/ h) `
% G1 T+ K L& r3 T- Q现在我们第一个条件已经有了,只需要使用火狐的插件或者其他插件来伪造一个refer头就可以直接进入样式管理接口: I3 o) r& o9 A# S8 [$ A& t# c4 H
* T' F1 R- W4 j4 {8 f/ P2 Q0 a% G
http://localhost/admin/Editor/aspx/style.aspx
' ^6 v, W7 n" F T$ F! A剩下的提权应该大家都会了。4 q$ J, A* i. }( ^( g/ x
; Q6 \) t- d7 o- P/ q/ O
之所以发出来是因为这个提权方式真的很特别,如果不是本地测试偶然发现,我相信没有多少人会去试一试加refer头。也算是奇葩GetShell了
- {1 ?9 {9 g+ c8 }! T) H
# c5 a" H6 U4 ]
$ g% Q) X0 n, V/ c
6 f5 d# \# F9 s! K r提供修复措施:
% i9 W* m) F+ Z( k; d: B3 e2 F5 z( Y. T) g1 t. N
加强过滤7 v3 B% f" @& Q& ~( Y8 C9 Z2 T
+ g/ ?5 I4 l+ ]8 f5 a6 B' T: {# a |