千博企业网站管理系统是一套比较常见的企业网站管理系统,很多市面上的企业网站都是改它的源码而来的。它的ASPX版本是封装起来的,就是说很多东西是放进DLL里面的,因此给查看源代码带来了难度。漏洞出现的版本是2011版的了,网上挺多的,其实想要说的重点是在后面的GetShell,很有技巧。- }. L. Y! i N: }! W0 ^
4 r( n# W. _5 z" m x' @! G! { ( y& i$ p0 l5 A. a1 o- h9 ^
9 O& C! Y/ z! o7 h. [* @) \ 8 l2 X+ `! K7 W$ i7 h& K: J
漏洞名称:千博企业网站管理系统SQL注入) a {, [; _9 [& _5 e
测试版本:千博企业网站管理系统单语标准版 V2011 Build0608
) O" M+ |- c8 e- d' I漏洞详情:由于搜索处未对输入进行过滤,导致SQL注入。出现漏洞的文件名是:Search.Aspx。7 d* ~' w, t9 `; P" C% h) O" s. b
漏洞验证:
$ }: }$ c) U, M W1 `1 {/ |; P/ R : e( e) `$ f+ \& [* m
访问http://localhost/Search.Aspx?sid=2&keyword=%' and '%Jarett%'='%Jarett,返回所有内容* `; S2 y' E9 e" K$ N( B# e7 s) R4 g% O
访问http://www.xxx.com/Search.Aspx?sid=2&keyword=%' and '%Jarett%'='%sb,返回为空' V1 k; N* T* `. n: n7 h8 `
# n) d3 ^9 r' L. `
那么就是存在注入了,不过可能无法直接union出来,要折半查找,慢慢手工刷吧,不一会儿,就刷到你脑残了。0 W7 W0 b6 ?) j! r, w
) s3 f0 @. n9 y/ ^ _ ; W( n9 o( Z5 T, F+ b9 l
9 b# E8 F7 K# O2 ~( \
得到密码以后一般直接加个admin目录就是后台了,不出意外的话,而且进入了后台以后,不出意外的话,你是无法GetShell的,但是本地测试时发现了个一个很有技巧的GetShell方法。这个系统使用了eWebEditor,但是无法直接利用,已经经过二次DLL封装处理的了。直接访问:( c/ c2 o# p( Y
' Q: V. @9 f# k/ Q
http://localhost/admin/Editor/aspx/style.aspx# R# [4 k) \* n6 H
是无法进入的,会带你到首页,要使用这个页面有两个条件:1 ?) x. \ Y( t4 x
1.身份为管理员并且已经登录。
1 b+ Q& w8 _0 f2.访问地址来源为后台地址,也就是请求中必须带上refer:http://localhost/admin/
) ~8 D* D5 P8 A8 |, W 6 t1 t" L! @5 g; G+ v
现在我们第一个条件已经有了,只需要使用火狐的插件或者其他插件来伪造一个refer头就可以直接进入样式管理接口:; P7 Z3 r4 ]* o' N. @2 j
; f; Q& ]6 X& V7 P& N! j5 Q8 Uhttp://localhost/admin/Editor/aspx/style.aspx
6 ? |" ~/ @- ^6 k剩下的提权应该大家都会了。
) `; A. y6 `& u% \5 L# U/ V) |( i # @) B% Q# @- y8 M) g
之所以发出来是因为这个提权方式真的很特别,如果不是本地测试偶然发现,我相信没有多少人会去试一试加refer头。也算是奇葩GetShell了 ! I* ]$ q; i6 X! G: u+ i- `
9 o' c5 t9 Q* `0 p4 a
$ t0 r% G( l+ C0 x6 O; F: G9 ?# ]1 k
提供修复措施:" a& u% V% q1 V3 w# o* Q
; v, R, q2 o. m加强过滤! Y* U. j* r# c+ k* p
% x8 ~1 A; h5 R% [7 Y9 n8 X
|