千博企业网站管理系统是一套比较常见的企业网站管理系统,很多市面上的企业网站都是改它的源码而来的。它的ASPX版本是封装起来的,就是说很多东西是放进DLL里面的,因此给查看源代码带来了难度。漏洞出现的版本是2011版的了,网上挺多的,其实想要说的重点是在后面的GetShell,很有技巧。
! d- p- C0 u% y, F _4 u
0 ~: L7 ]' I+ {* A/ ?# N
. e7 F' W4 W" P7 C9 {7 \; \
: C1 q8 L# w5 R0 Z& h8 X 1 j0 r+ }$ M& p3 c
漏洞名称:千博企业网站管理系统SQL注入
; G" v% g, e9 U2 O测试版本:千博企业网站管理系统单语标准版 V2011 Build0608
7 ?, ?! u4 w$ k漏洞详情:由于搜索处未对输入进行过滤,导致SQL注入。出现漏洞的文件名是:Search.Aspx。
. o% ?5 {5 L5 b漏洞验证:
: H; n6 [7 {7 A " o) J1 F7 t2 Q- X2 a& U) z2 |9 j
访问http://localhost/Search.Aspx?sid=2&keyword=%' and '%Jarett%'='%Jarett,返回所有内容
% q2 c& M1 m- l4 |) y& h访问http://www.xxx.com/Search.Aspx?sid=2&keyword=%' and '%Jarett%'='%sb,返回为空
1 |, `+ F" |" m% ^
d$ Q+ x3 z2 L$ \5 E F那么就是存在注入了,不过可能无法直接union出来,要折半查找,慢慢手工刷吧,不一会儿,就刷到你脑残了。
' {& G; V C8 z$ f7 `6 G
& Z9 b. s+ ^9 f 1 ?/ q P: n% |2 s( a" t
" a. E7 e7 K0 T8 g# H7 k得到密码以后一般直接加个admin目录就是后台了,不出意外的话,而且进入了后台以后,不出意外的话,你是无法GetShell的,但是本地测试时发现了个一个很有技巧的GetShell方法。这个系统使用了eWebEditor,但是无法直接利用,已经经过二次DLL封装处理的了。直接访问:
2 C+ b, I, h6 S1 f * Z( Z; y9 k& _* y& x
http://localhost/admin/Editor/aspx/style.aspx
% J7 @' x, s \. H是无法进入的,会带你到首页,要使用这个页面有两个条件:" o! x. u3 L. [# I3 O. o; |1 `3 {
1.身份为管理员并且已经登录。* y, S. o7 N, W) I/ K, _# z
2.访问地址来源为后台地址,也就是请求中必须带上refer:http://localhost/admin/, t# U# v2 Y/ o# b, V
3 |- f- _% ~! Z& {8 A现在我们第一个条件已经有了,只需要使用火狐的插件或者其他插件来伪造一个refer头就可以直接进入样式管理接口:. V- `% P l. Q k
3 w5 ~1 J; y+ hhttp://localhost/admin/Editor/aspx/style.aspx8 a; h+ D2 v8 u
剩下的提权应该大家都会了。
) ?! ^5 w) t2 @4 n
v0 s ]2 S# ^- ~ ^$ X0 }之所以发出来是因为这个提权方式真的很特别,如果不是本地测试偶然发现,我相信没有多少人会去试一试加refer头。也算是奇葩GetShell了
: C8 V6 o0 A; ^# F) b2 z
9 T8 F" A. ^" K ) _+ t; s# q9 t' L" F; A: z4 [$ h0 h
1 b3 `; j3 u+ k8 @提供修复措施:1 f) I5 q3 J. T, u5 J4 Y
, N. Y; S$ p6 E q6 N1 d加强过滤
! v5 R+ c2 X: j- ]" ~' E+ \# }, t
$ X: I& m3 Q* B9 z; B- x |