千博企业网站管理系统是一套比较常见的企业网站管理系统,很多市面上的企业网站都是改它的源码而来的。它的ASPX版本是封装起来的,就是说很多东西是放进DLL里面的,因此给查看源代码带来了难度。漏洞出现的版本是2011版的了,网上挺多的,其实想要说的重点是在后面的GetShell,很有技巧。' {7 A2 G1 A, o
* @( n. ?' Q1 G6 ~4 Z- d# V( y
) [3 @6 Y s8 o) n
8 i' o9 v `" b
5 z8 F9 P/ w+ [7 h5 P' m漏洞名称:千博企业网站管理系统SQL注入% n; M3 {1 p: j( m- e
测试版本:千博企业网站管理系统单语标准版 V2011 Build0608
6 P) w+ i, |1 a漏洞详情:由于搜索处未对输入进行过滤,导致SQL注入。出现漏洞的文件名是:Search.Aspx。& r. ]( E* L6 H2 J
漏洞验证:$ u+ U- n% e2 p+ o6 x, F
% e& c' Z V/ P2 }2 q访问http://localhost/Search.Aspx?sid=2&keyword=%' and '%Jarett%'='%Jarett,返回所有内容# C* N" ?; E1 a+ y# w. `( p
访问http://www.xxx.com/Search.Aspx?sid=2&keyword=%' and '%Jarett%'='%sb,返回为空
* A+ C3 Z! }6 d* c( f. M . C* Q: n# G! s" A/ u3 N8 I
那么就是存在注入了,不过可能无法直接union出来,要折半查找,慢慢手工刷吧,不一会儿,就刷到你脑残了。3 u/ T0 F0 C4 p2 A! v
9 c+ j8 U) [6 G" Z& b2 y s 5 ?5 `8 ^4 x* s
4 a% Q& N% Q" J得到密码以后一般直接加个admin目录就是后台了,不出意外的话,而且进入了后台以后,不出意外的话,你是无法GetShell的,但是本地测试时发现了个一个很有技巧的GetShell方法。这个系统使用了eWebEditor,但是无法直接利用,已经经过二次DLL封装处理的了。直接访问:
a4 Q4 D4 e& U2 H7 f3 X ; G- q& ?( k7 P; O# ^* E: G) i
http://localhost/admin/Editor/aspx/style.aspx
# e% ?5 l2 n# u是无法进入的,会带你到首页,要使用这个页面有两个条件:0 {3 i- d7 W7 }+ N4 {" J
1.身份为管理员并且已经登录。
, r; `& ] R( M2.访问地址来源为后台地址,也就是请求中必须带上refer:http://localhost/admin/
1 Y+ ^. s4 j/ Z& s) B
. e: @$ Z4 E: D. C. N5 I现在我们第一个条件已经有了,只需要使用火狐的插件或者其他插件来伪造一个refer头就可以直接进入样式管理接口:( K; |* U+ E9 g( s. ?$ C
. E# [1 u6 e% G: V6 M$ yhttp://localhost/admin/Editor/aspx/style.aspx8 T5 G6 }; s9 K6 x
剩下的提权应该大家都会了。
! j5 j n3 J7 J1 L0 E& _% U 4 C% E9 m* `( M" B1 @1 x3 W
之所以发出来是因为这个提权方式真的很特别,如果不是本地测试偶然发现,我相信没有多少人会去试一试加refer头。也算是奇葩GetShell了
1 f' `' d. W& `+ y6 }4 F8 G0 q6 B' I! ?0 T
" G; \0 P- e2 j. J8 `0 U7 A7 V7 X }
提供修复措施:
" N1 N6 s a* s. H4 T$ b. e3 N, M1 p l. f8 Q
加强过滤
0 n* ]0 E z5 ~) k. ^8 ]5 r8 D: R G8 i$ d3 j T
|