千博企业网站管理系统是一套比较常见的企业网站管理系统,很多市面上的企业网站都是改它的源码而来的。它的ASPX版本是封装起来的,就是说很多东西是放进DLL里面的,因此给查看源代码带来了难度。漏洞出现的版本是2011版的了,网上挺多的,其实想要说的重点是在后面的GetShell,很有技巧。
& b$ D y4 T; \ u/ z3 Y
/ U; X" O# b" V; }3 r m + _6 _; m; R; {& c2 \
1 ]6 L5 I& Q& Y4 t2 |3 D- L2 L
8 H( t7 s5 B5 O. V漏洞名称:千博企业网站管理系统SQL注入$ X# p6 P6 x# v' K8 Y" I$ L
测试版本:千博企业网站管理系统单语标准版 V2011 Build0608
3 ?4 r* M2 y: o, H. _- P漏洞详情:由于搜索处未对输入进行过滤,导致SQL注入。出现漏洞的文件名是:Search.Aspx。
5 q5 v& B; j$ L! U y) S漏洞验证:
: L0 y9 u1 ^ z9 J6 O8 P
, n- b* I! z2 L& i+ K访问http://localhost/Search.Aspx?sid=2&keyword=%' and '%Jarett%'='%Jarett,返回所有内容
+ W8 s, m4 ^9 [6 |% {7 I访问http://www.xxx.com/Search.Aspx?sid=2&keyword=%' and '%Jarett%'='%sb,返回为空, W! p# R0 u& {# o5 d
4 W d" Q1 X' T( J
那么就是存在注入了,不过可能无法直接union出来,要折半查找,慢慢手工刷吧,不一会儿,就刷到你脑残了。
- t3 x' _6 f/ T6 {" P, E
' d. Z K! s. c 8 ?7 R; O! Q# t1 M* N
. N5 H/ I' W- N/ z# C5 z9 t2 E得到密码以后一般直接加个admin目录就是后台了,不出意外的话,而且进入了后台以后,不出意外的话,你是无法GetShell的,但是本地测试时发现了个一个很有技巧的GetShell方法。这个系统使用了eWebEditor,但是无法直接利用,已经经过二次DLL封装处理的了。直接访问:
! j; s$ P, A u7 A4 Y/ t& u$ a+ L / s: A' T+ `) t7 e& p' T9 b* d8 R
http://localhost/admin/Editor/aspx/style.aspx
$ e6 w3 w0 e8 p0 }2 v: x" x是无法进入的,会带你到首页,要使用这个页面有两个条件:
5 s. w4 D4 @/ Y; q5 l' ?1.身份为管理员并且已经登录。$ g; q& E- Z0 g4 ^
2.访问地址来源为后台地址,也就是请求中必须带上refer:http://localhost/admin/! \2 a/ g$ E* I2 @+ E6 x5 F: t
6 c5 t2 c! }* u0 J# P5 Q# l
现在我们第一个条件已经有了,只需要使用火狐的插件或者其他插件来伪造一个refer头就可以直接进入样式管理接口:
; J" D, ]+ }) w8 a1 h& b' L . T5 q. ~4 j& X
http://localhost/admin/Editor/aspx/style.aspx
" `1 @$ _$ ?- ?8 f+ a剩下的提权应该大家都会了。1 V: G+ N! Y% B# a0 E3 n! Y6 L% P
" w$ R8 p7 `% O5 Q$ y之所以发出来是因为这个提权方式真的很特别,如果不是本地测试偶然发现,我相信没有多少人会去试一试加refer头。也算是奇葩GetShell了
# F" ~. b, H7 q. d- p* `# ~) X+ l. E' Y1 v S2 Q
4 c+ }& l$ U$ P$ Q# a
K, h6 `4 X. ]/ S
提供修复措施:* k+ V5 n5 @/ L9 O0 }
' J% B' R, q/ r7 x* `2 j7 S' V加强过滤8 h/ H0 ?6 Y7 q# h
7 Z6 k0 [6 }9 V% q
|