千博企业网站管理系统是一套比较常见的企业网站管理系统,很多市面上的企业网站都是改它的源码而来的。它的ASPX版本是封装起来的,就是说很多东西是放进DLL里面的,因此给查看源代码带来了难度。漏洞出现的版本是2011版的了,网上挺多的,其实想要说的重点是在后面的GetShell,很有技巧。
Z( F) g6 e3 O
" J f* N- S6 V: ]+ t: v9 V3 A' z
% d( P. ?4 \# i; |+ `3 U: B 0 y& Q' t/ S& X
$ L& X' j2 W1 A8 p漏洞名称:千博企业网站管理系统SQL注入3 [* A D( Z' X3 [0 J& J; v1 T
测试版本:千博企业网站管理系统单语标准版 V2011 Build0608$ |% O6 P r- S, B
漏洞详情:由于搜索处未对输入进行过滤,导致SQL注入。出现漏洞的文件名是:Search.Aspx。& z( z8 {7 t# r
漏洞验证:& Y" V" T- S9 F5 Y+ u; [8 c6 x
& F( j G# ^& O, ^% J0 l& ` d
访问http://localhost/Search.Aspx?sid=2&keyword=%' and '%Jarett%'='%Jarett,返回所有内容( t* x3 ^$ K- W* r
访问http://www.xxx.com/Search.Aspx?sid=2&keyword=%' and '%Jarett%'='%sb,返回为空7 `: u0 G) u7 h# y, T% w. F
3 h; w0 L2 G: r& e) r
那么就是存在注入了,不过可能无法直接union出来,要折半查找,慢慢手工刷吧,不一会儿,就刷到你脑残了。( S' C( G4 U' f9 U& X8 M7 i/ y
2 F, L' c0 l5 `6 I$ V" l
, U+ j2 }4 O1 {$ L / B+ @( V% K+ e0 r% Y/ u8 |3 y
得到密码以后一般直接加个admin目录就是后台了,不出意外的话,而且进入了后台以后,不出意外的话,你是无法GetShell的,但是本地测试时发现了个一个很有技巧的GetShell方法。这个系统使用了eWebEditor,但是无法直接利用,已经经过二次DLL封装处理的了。直接访问:
1 N$ c3 k; H) [& r* M4 I) Y
2 A2 ?8 G" e; p o: E) h6 v# Rhttp://localhost/admin/Editor/aspx/style.aspx9 y/ q" F( j$ G! X* ^
是无法进入的,会带你到首页,要使用这个页面有两个条件:2 A" _1 D+ y8 F4 Q, K# }) s& e
1.身份为管理员并且已经登录。 m4 L" ~2 e6 ~+ D
2.访问地址来源为后台地址,也就是请求中必须带上refer:http://localhost/admin/
' s. s( c! @( j2 s: Z/ G
8 H# p/ p% b' ~+ P现在我们第一个条件已经有了,只需要使用火狐的插件或者其他插件来伪造一个refer头就可以直接进入样式管理接口:
& K8 P# d" X; Y t, j: B$ {! I' h " v0 ~& y- U+ E7 W( z
http://localhost/admin/Editor/aspx/style.aspx
3 Z: P1 j( A! p ?" W剩下的提权应该大家都会了。
, m( R7 k& o! `
# z8 r* h Z& q之所以发出来是因为这个提权方式真的很特别,如果不是本地测试偶然发现,我相信没有多少人会去试一试加refer头。也算是奇葩GetShell了
3 A8 i: V) Q# I6 F$ }* w% r% H: u% h: u! d. D
- L5 M. U! u, n3 l) T P4 | u$ Q
0 G2 x* S: z" F/ T9 p/ R6 K提供修复措施:
6 ~8 r# c" C: [& L* S' W1 g2 L; R* P5 P0 z: L) E6 z$ C
加强过滤4 W9 A' V5 q8 ~ s8 B9 I+ x
# w& ^4 T A, u2 ~0 U( J w
|