千博企业网站管理系统是一套比较常见的企业网站管理系统,很多市面上的企业网站都是改它的源码而来的。它的ASPX版本是封装起来的,就是说很多东西是放进DLL里面的,因此给查看源代码带来了难度。漏洞出现的版本是2011版的了,网上挺多的,其实想要说的重点是在后面的GetShell,很有技巧。( g# b( [8 d( ^! _9 g
/ A! \6 x8 L8 ]
! F' j$ D; i9 m. p, H+ d( r
, a d- t: g3 A- ^" Q
* L# P9 h d7 `- w) Q J% R
漏洞名称:千博企业网站管理系统SQL注入! ]7 z L! z3 p( z) j2 ^
测试版本:千博企业网站管理系统单语标准版 V2011 Build0608
, H$ p' m" O$ K' R* _2 [漏洞详情:由于搜索处未对输入进行过滤,导致SQL注入。出现漏洞的文件名是:Search.Aspx。
0 u9 C V7 d+ F' x( x9 e4 [2 B漏洞验证:
2 A# y7 Y7 i; o8 J
) P7 _2 R: e7 I. {: k4 c# @访问http://localhost/Search.Aspx?sid=2&keyword=%' and '%Jarett%'='%Jarett,返回所有内容
?+ }6 a& K- K& ~3 l6 H8 A$ M) ?访问http://www.xxx.com/Search.Aspx?sid=2&keyword=%' and '%Jarett%'='%sb,返回为空- B0 O4 J6 x+ B' ^$ ?8 p
" l$ ]) \# ^# D+ z那么就是存在注入了,不过可能无法直接union出来,要折半查找,慢慢手工刷吧,不一会儿,就刷到你脑残了。% ]: @) i2 p% J0 K' X+ X! q& d
5 ]" E4 o$ a4 Y
7 h2 n y0 Q* O1 Q( e
. g. g$ f0 J* X6 E8 I' S1 v
得到密码以后一般直接加个admin目录就是后台了,不出意外的话,而且进入了后台以后,不出意外的话,你是无法GetShell的,但是本地测试时发现了个一个很有技巧的GetShell方法。这个系统使用了eWebEditor,但是无法直接利用,已经经过二次DLL封装处理的了。直接访问:
7 \0 X9 u# z9 |* K3 p9 ]
5 `: T% q0 R. t/ @: shttp://localhost/admin/Editor/aspx/style.aspx# i6 u7 h2 Z( m) e
是无法进入的,会带你到首页,要使用这个页面有两个条件:, T4 L" P8 ^9 P% ~6 q- k6 G
1.身份为管理员并且已经登录。
( v" T0 N- [6 i: U8 \# Y2.访问地址来源为后台地址,也就是请求中必须带上refer:http://localhost/admin/
: e/ C# }1 q# }; d& k* K- S9 c' y
' ~! f9 E8 w) m/ L9 p# ^9 \! Y4 R* L0 f现在我们第一个条件已经有了,只需要使用火狐的插件或者其他插件来伪造一个refer头就可以直接进入样式管理接口:" J9 W! R, [- M5 e% c4 \+ c
' n1 z6 S [9 p* f/ @" g$ |* [http://localhost/admin/Editor/aspx/style.aspx
0 p$ d& d0 W! \0 e6 E. J# N剩下的提权应该大家都会了。) ]7 J* H7 G. D
2 b+ V& ], Q4 d" R之所以发出来是因为这个提权方式真的很特别,如果不是本地测试偶然发现,我相信没有多少人会去试一试加refer头。也算是奇葩GetShell了
2 Q& D) {1 m8 G. l' F+ B& h8 P5 b+ ^7 f2 f# N
) A1 z% u, ^& {* `9 G, P
/ [, G- S' \8 J提供修复措施:: e8 o" w( d! s7 t4 y$ T: f; o
R# N8 P3 _, v: v; I1 y. q+ I2 A加强过滤
" p3 ?* F) Z& @# s3 \+ g& j0 X7 q0 ]; Z; T' w
|