千博企业网站管理系统是一套比较常见的企业网站管理系统,很多市面上的企业网站都是改它的源码而来的。它的ASPX版本是封装起来的,就是说很多东西是放进DLL里面的,因此给查看源代码带来了难度。漏洞出现的版本是2011版的了,网上挺多的,其实想要说的重点是在后面的GetShell,很有技巧。
1 s5 H" {) e3 a! {3 I# ~; B/ l% E3 J# P& @. |0 `7 l
. k3 |/ K h- y" \ 2 N* `) M+ c$ U e2 t
( q& O8 ?9 r' R4 `& d2 [5 A5 W漏洞名称:千博企业网站管理系统SQL注入
4 N# _, Y0 O7 o/ r测试版本:千博企业网站管理系统单语标准版 V2011 Build0608
6 W( f$ b' }. C4 A/ K漏洞详情:由于搜索处未对输入进行过滤,导致SQL注入。出现漏洞的文件名是:Search.Aspx。
; O5 B) c) z* e; h; d' D3 T Q漏洞验证:
& ~& n* S3 o( f" G 8 {& {6 ]0 d5 x8 K7 a
访问http://localhost/Search.Aspx?sid=2&keyword=%' and '%Jarett%'='%Jarett,返回所有内容
: z3 @ M& g* I3 l2 j0 |! g访问http://www.xxx.com/Search.Aspx?sid=2&keyword=%' and '%Jarett%'='%sb,返回为空7 z2 g# v* f/ a9 q8 D- l; C% u
2 A! r% ]+ V: J. |, A2 Z
那么就是存在注入了,不过可能无法直接union出来,要折半查找,慢慢手工刷吧,不一会儿,就刷到你脑残了。
6 {9 b2 ^0 o; \; r) p* _2 @1 s/ ~ % H6 W8 h1 w6 \4 }* W
& g' U% Y& N+ i8 A5 o0 V
1 Q6 {0 C+ @3 w# x$ Q得到密码以后一般直接加个admin目录就是后台了,不出意外的话,而且进入了后台以后,不出意外的话,你是无法GetShell的,但是本地测试时发现了个一个很有技巧的GetShell方法。这个系统使用了eWebEditor,但是无法直接利用,已经经过二次DLL封装处理的了。直接访问:' Q' T0 G3 v- s. e" I( H
6 W" ~1 B' o) Ghttp://localhost/admin/Editor/aspx/style.aspx* U3 w4 C2 | Z, W- G B
是无法进入的,会带你到首页,要使用这个页面有两个条件:( H9 O) a+ d& k6 A' v2 b$ {! M
1.身份为管理员并且已经登录。
" _! |. k, k) k1 u+ u1 p" S2.访问地址来源为后台地址,也就是请求中必须带上refer:http://localhost/admin/
' @5 [+ o: y1 h- _9 w # r0 ^( \/ d! _. K3 j. Q
现在我们第一个条件已经有了,只需要使用火狐的插件或者其他插件来伪造一个refer头就可以直接进入样式管理接口:
8 X. M9 ~: w+ ?9 C0 v( ^5 { M
$ F! t' Y% i" a. y( }http://localhost/admin/Editor/aspx/style.aspx4 c2 y$ K! y ^6 `% y
剩下的提权应该大家都会了。
- e" ]+ v- }' Y" `. Z" m1 i ' S# {9 I4 b) |. `3 f. o: X9 Z- g/ q
之所以发出来是因为这个提权方式真的很特别,如果不是本地测试偶然发现,我相信没有多少人会去试一试加refer头。也算是奇葩GetShell了 & [5 \" _7 j1 o7 c
5 B0 A; q/ e- m% P
5 e7 \2 T: q, L. V: S; Q% M* h- A+ u9 I3 @4 m* E$ q u
提供修复措施:1 ~) J( C! ~4 I% `' i$ ]
! W& S* I' T' |8 f8 {加强过滤, H: g) Q5 r. K3 _# k
& ]8 K6 S Z( W1 X
|