千博企业网站管理系统是一套比较常见的企业网站管理系统,很多市面上的企业网站都是改它的源码而来的。它的ASPX版本是封装起来的,就是说很多东西是放进DLL里面的,因此给查看源代码带来了难度。漏洞出现的版本是2011版的了,网上挺多的,其实想要说的重点是在后面的GetShell,很有技巧。3 p" M* }& }2 l( @* `
- n+ w B8 C, _4 O# X
7 |9 H0 m7 N& S5 u6 t! C! U1 }. U6 ?
: e; c( f$ ~% N9 D) C0 G- G+ ~3 S
6 o1 ?6 P8 W& @/ m漏洞名称:千博企业网站管理系统SQL注入4 x+ P: j) w/ r0 `
测试版本:千博企业网站管理系统单语标准版 V2011 Build06085 T# _+ d2 k0 j0 c) q
漏洞详情:由于搜索处未对输入进行过滤,导致SQL注入。出现漏洞的文件名是:Search.Aspx。6 p' X; ]: w) q, N! k0 l
漏洞验证:
- D; D: K# M( { 2 B- ]1 C: K1 b1 u1 U x+ V' W9 @# N, j
访问http://localhost/Search.Aspx?sid=2&keyword=%' and '%Jarett%'='%Jarett,返回所有内容/ E( X6 N3 w9 x3 L. ]& `
访问http://www.xxx.com/Search.Aspx?sid=2&keyword=%' and '%Jarett%'='%sb,返回为空
9 I) p1 e7 M5 G2 a% Z8 [/ [5 U
6 }6 H' W, o( k, ]+ a3 P那么就是存在注入了,不过可能无法直接union出来,要折半查找,慢慢手工刷吧,不一会儿,就刷到你脑残了。$ ]7 y+ X2 i; E
! v2 _' d+ A- c6 u8 {
8 E- |& n, ^# ?; v
2 p+ R7 F- R/ ^5 i6 O8 o
得到密码以后一般直接加个admin目录就是后台了,不出意外的话,而且进入了后台以后,不出意外的话,你是无法GetShell的,但是本地测试时发现了个一个很有技巧的GetShell方法。这个系统使用了eWebEditor,但是无法直接利用,已经经过二次DLL封装处理的了。直接访问:: x9 l* H! U( W& N2 z( C! H( P( f
+ C7 E! K) n/ A1 Ghttp://localhost/admin/Editor/aspx/style.aspx7 q6 V* S$ u( S2 l+ N1 p/ {
是无法进入的,会带你到首页,要使用这个页面有两个条件:
! |- T% b* R' A4 D+ P2 p1.身份为管理员并且已经登录。
8 s/ a9 Q; C0 v- f, T3 O6 a2.访问地址来源为后台地址,也就是请求中必须带上refer:http://localhost/admin/+ \7 v: n9 [: ^/ Y2 u1 I
/ v5 q, E m u) v* _+ h! V
现在我们第一个条件已经有了,只需要使用火狐的插件或者其他插件来伪造一个refer头就可以直接进入样式管理接口:
! f- \. g9 {9 S, } : A6 z f9 p. O0 I; C5 n( S; S7 `
http://localhost/admin/Editor/aspx/style.aspx u6 L& ~9 ^& T, F1 @# ?
剩下的提权应该大家都会了。6 y* n2 N- M J- ~/ O
8 O7 Z9 ]5 _+ N, C8 K
之所以发出来是因为这个提权方式真的很特别,如果不是本地测试偶然发现,我相信没有多少人会去试一试加refer头。也算是奇葩GetShell了 - o+ ]( w- \, K- [# X$ S2 @
* P2 B: p2 K! f: \# H6 M9 h! [
: [( g4 O6 W$ C7 T0 J7 |& ]$ E8 |+ O7 p" Z( I7 B. P
提供修复措施:
0 p) Z# c/ e! U5 y% |; Y0 `* [$ s: D5 y' X
加强过滤
8 l$ W( Z6 ]) X* z
7 O* `& _4 Q8 Z5 r8 y |