千博企业网站管理系统是一套比较常见的企业网站管理系统,很多市面上的企业网站都是改它的源码而来的。它的ASPX版本是封装起来的,就是说很多东西是放进DLL里面的,因此给查看源代码带来了难度。漏洞出现的版本是2011版的了,网上挺多的,其实想要说的重点是在后面的GetShell,很有技巧。
( u% ^( {* w% }# X2 ^1 o- B. M
& @, y8 ^/ F# [# F) y9 E0 O$ z
' y$ F/ E: w5 P 1 l' V6 r; d5 F6 ~5 {
' w- X4 z0 \2 P: @6 [漏洞名称:千博企业网站管理系统SQL注入
- J% l( b5 z/ f8 B' y( X3 C测试版本:千博企业网站管理系统单语标准版 V2011 Build0608
8 S- n3 T3 ~* H+ ^+ x% l漏洞详情:由于搜索处未对输入进行过滤,导致SQL注入。出现漏洞的文件名是:Search.Aspx。- t7 H4 Z3 _$ j3 }2 V v5 s
漏洞验证:
4 {; c+ L- t8 Q' Z9 S# b 7 i$ `$ @2 |( R1 w( q1 [+ F$ t
访问http://localhost/Search.Aspx?sid=2&keyword=%' and '%Jarett%'='%Jarett,返回所有内容
/ F# j4 X" V. L j! F ?( q访问http://www.xxx.com/Search.Aspx?sid=2&keyword=%' and '%Jarett%'='%sb,返回为空: a, A5 B' P" o3 o) Y u: \
! r E5 G% h* _那么就是存在注入了,不过可能无法直接union出来,要折半查找,慢慢手工刷吧,不一会儿,就刷到你脑残了。
4 N2 [% r1 C p$ a' _! c( v
7 ^% Q" a( I {/ B- ~" {. p
/ [3 s1 |! \$ U) ^% x- d 6 r* f3 H' d& @+ e& J% a
得到密码以后一般直接加个admin目录就是后台了,不出意外的话,而且进入了后台以后,不出意外的话,你是无法GetShell的,但是本地测试时发现了个一个很有技巧的GetShell方法。这个系统使用了eWebEditor,但是无法直接利用,已经经过二次DLL封装处理的了。直接访问:
v( a9 _* i) e& ~0 f# |$ O8 H
+ P( K6 m) d- j0 P( R' o) `http://localhost/admin/Editor/aspx/style.aspx9 R! F. q" F. }; F3 M
是无法进入的,会带你到首页,要使用这个页面有两个条件:
6 C& O6 ^, A; D$ U0 \1.身份为管理员并且已经登录。
6 N7 c. n9 a% i2.访问地址来源为后台地址,也就是请求中必须带上refer:http://localhost/admin/
" W+ {( S% Z% O2 M; G; m2 S 1 O- F: f3 G( F3 j& G- Y
现在我们第一个条件已经有了,只需要使用火狐的插件或者其他插件来伪造一个refer头就可以直接进入样式管理接口:
R; m0 R: Y& D7 U5 k! i 8 I) } R' |. h! G b% @( R
http://localhost/admin/Editor/aspx/style.aspx1 b8 U t2 R6 e/ P; y0 h
剩下的提权应该大家都会了。; A2 { \* x4 D: H& v
; J. l& q6 L) i之所以发出来是因为这个提权方式真的很特别,如果不是本地测试偶然发现,我相信没有多少人会去试一试加refer头。也算是奇葩GetShell了 ; D7 j' f( s+ h
) L" {9 ]( u0 N7 M, x
: X+ Y2 u- I# |) ?. @, \
! F, n$ u2 g/ J5 L提供修复措施:3 b4 {5 e0 N# {( ?) O
7 r2 K+ T" M, G+ h
加强过滤
$ D+ L: w2 L7 I. A1 V0 j% u3 n+ X `3 q2 r3 r
|