千博企业网站管理系统是一套比较常见的企业网站管理系统,很多市面上的企业网站都是改它的源码而来的。它的ASPX版本是封装起来的,就是说很多东西是放进DLL里面的,因此给查看源代码带来了难度。漏洞出现的版本是2011版的了,网上挺多的,其实想要说的重点是在后面的GetShell,很有技巧。
$ @ r9 k2 j! C
m2 s- A r0 v, j" ? ! x7 j& f4 o; E( b
" Y) m& C0 h- W h W
! @' v F, d, c: g漏洞名称:千博企业网站管理系统SQL注入% c( B/ x* L! \
测试版本:千博企业网站管理系统单语标准版 V2011 Build0608
$ Y3 v) }. Y% {漏洞详情:由于搜索处未对输入进行过滤,导致SQL注入。出现漏洞的文件名是:Search.Aspx。. @) l7 V- z: x7 s3 \
漏洞验证:) p u# H, D% j; e
3 h: l0 H, Z. J9 m+ `/ A1 S
访问http://localhost/Search.Aspx?sid=2&keyword=%' and '%Jarett%'='%Jarett,返回所有内容" \: @* O* e! j; f+ Z; Z3 _' S
访问http://www.xxx.com/Search.Aspx?sid=2&keyword=%' and '%Jarett%'='%sb,返回为空! [2 v7 Z/ Q3 h: T7 p) f7 Y
0 b! y1 T" u, [那么就是存在注入了,不过可能无法直接union出来,要折半查找,慢慢手工刷吧,不一会儿,就刷到你脑残了。$ ]% v' e0 ~6 p0 d) ^+ \! {
( w0 f7 g) a, u
0 X4 N _2 V" j+ {: x
' _- x+ `8 M; O s得到密码以后一般直接加个admin目录就是后台了,不出意外的话,而且进入了后台以后,不出意外的话,你是无法GetShell的,但是本地测试时发现了个一个很有技巧的GetShell方法。这个系统使用了eWebEditor,但是无法直接利用,已经经过二次DLL封装处理的了。直接访问:
& b* \, b5 x# s, D. Q8 P4 h& U" X
# A- P N1 ?2 M3 k" V% O6 ]http://localhost/admin/Editor/aspx/style.aspx
. n& q+ y3 ~5 L# q9 O7 }是无法进入的,会带你到首页,要使用这个页面有两个条件:) {4 L4 `. m; ?. ]- a( f/ h
1.身份为管理员并且已经登录。
/ S% g2 M1 V: d2.访问地址来源为后台地址,也就是请求中必须带上refer:http://localhost/admin/% t2 ~7 X9 v0 ?! m4 O7 {9 K" C
1 F/ r n5 l1 V现在我们第一个条件已经有了,只需要使用火狐的插件或者其他插件来伪造一个refer头就可以直接进入样式管理接口:
; g @; B/ k. r! O M: l" q# a; Y- W + ^" A# ?7 T. S$ R5 X& ~( c
http://localhost/admin/Editor/aspx/style.aspx" O f# f1 ^% r4 [0 `
剩下的提权应该大家都会了。
7 z0 [# D9 z1 E2 Z. D; r
. D/ q: f- l0 D* V& A4 l之所以发出来是因为这个提权方式真的很特别,如果不是本地测试偶然发现,我相信没有多少人会去试一试加refer头。也算是奇葩GetShell了
2 ^! B- Q3 y/ F$ E9 `; q
I8 J* a2 k! C8 `- [. `. Q! @0 R
& r- A6 Y4 u& G; D! t1 v8 r; ]" @7 A4 c. L- a8 v4 S
提供修复措施:! H1 p/ l$ G( h0 O0 k* o+ A! S2 d
/ u8 a6 i; Y8 q' j" O' e$ S3 d& V加强过滤
, \+ o0 U; p/ V2 n8 X0 `; J6 z# N; z l5 x( s! A" b+ o
|