千博企业网站管理系统是一套比较常见的企业网站管理系统,很多市面上的企业网站都是改它的源码而来的。它的ASPX版本是封装起来的,就是说很多东西是放进DLL里面的,因此给查看源代码带来了难度。漏洞出现的版本是2011版的了,网上挺多的,其实想要说的重点是在后面的GetShell,很有技巧。
1 O! \4 j% R( {5 C- u3 C8 D. U! g0 Z5 q' h( @
1 x* h2 m# D; }( I+ M , z4 l; |& C2 S1 Z' j
- P# [5 K+ \. e [9 J
漏洞名称:千博企业网站管理系统SQL注入
$ N" T7 v0 W& ]& s0 X测试版本:千博企业网站管理系统单语标准版 V2011 Build0608& G' x0 M" s' ^5 P' v! T
漏洞详情:由于搜索处未对输入进行过滤,导致SQL注入。出现漏洞的文件名是:Search.Aspx。1 g) @" _6 k) g% b! n4 s1 \
漏洞验证:/ d, N! d( V" e$ r, C# @' C
2 L2 M+ _1 b# L& [0 k
访问http://localhost/Search.Aspx?sid=2&keyword=%' and '%Jarett%'='%Jarett,返回所有内容0 ~; ]2 x O. A# O) F6 B' H& ^7 M
访问http://www.xxx.com/Search.Aspx?sid=2&keyword=%' and '%Jarett%'='%sb,返回为空/ x! @ W0 I8 W4 O" }3 j) @7 z9 @
4 {3 x& L, X/ Z) E+ g6 z
那么就是存在注入了,不过可能无法直接union出来,要折半查找,慢慢手工刷吧,不一会儿,就刷到你脑残了。
( o7 o; R+ }3 D8 l& v 6 c. Y$ X0 a) W& u) K2 I2 F+ B7 E
8 E2 x0 }+ J/ N9 t6 {8 I
3 I5 z) L ]7 |5 m4 s; _/ y0 n得到密码以后一般直接加个admin目录就是后台了,不出意外的话,而且进入了后台以后,不出意外的话,你是无法GetShell的,但是本地测试时发现了个一个很有技巧的GetShell方法。这个系统使用了eWebEditor,但是无法直接利用,已经经过二次DLL封装处理的了。直接访问:
# Y& Y8 q4 `7 i* v
( ~1 h) g$ T/ V+ ?7 vhttp://localhost/admin/Editor/aspx/style.aspx
|8 d) M5 M$ h" u& U7 S- D2 H9 t# T是无法进入的,会带你到首页,要使用这个页面有两个条件:
8 B6 v, O3 W5 o0 b7 M8 G$ U6 c1.身份为管理员并且已经登录。! p! ?0 D4 P7 @/ k1 A
2.访问地址来源为后台地址,也就是请求中必须带上refer:http://localhost/admin/
" F4 i( |# i" f! g. [. a) f- C' l- Y : p3 M0 p" m8 w3 e
现在我们第一个条件已经有了,只需要使用火狐的插件或者其他插件来伪造一个refer头就可以直接进入样式管理接口:7 X# L$ ~ _/ f& ?& ~
7 x% `& l! } i! E
http://localhost/admin/Editor/aspx/style.aspx
" K$ J$ F1 |" m- m# U4 s6 V剩下的提权应该大家都会了。
) G$ m- k) M9 \ ! Z" n, D# ~$ c0 d- W" `; n
之所以发出来是因为这个提权方式真的很特别,如果不是本地测试偶然发现,我相信没有多少人会去试一试加refer头。也算是奇葩GetShell了 , J9 |5 J: b0 ^% Y7 `) Y
" @' |; d, O& h u/ d
- V0 z2 q, @* s) o n+ Q2 r. g) H9 R7 `7 _+ U
提供修复措施:) j' J4 ^; B+ _: }$ s
8 }7 `+ x" @1 \3 _
加强过滤
0 [' J% N5 n( V! k7 y4 n. x
. k" L, J |( @- [% j: r |