千博企业网站管理系统是一套比较常见的企业网站管理系统,很多市面上的企业网站都是改它的源码而来的。它的ASPX版本是封装起来的,就是说很多东西是放进DLL里面的,因此给查看源代码带来了难度。漏洞出现的版本是2011版的了,网上挺多的,其实想要说的重点是在后面的GetShell,很有技巧。; B( c$ Q0 z4 C2 J$ y
! {9 B, c) ~! Y
" w% ~) W. s- r8 p' k4 I0 W- @1 L. O O 2 Q" y9 K' w! J
6 `8 ^2 A! h2 l% n; }' ]8 z1 Q漏洞名称:千博企业网站管理系统SQL注入
9 }( D( s+ `$ i! @测试版本:千博企业网站管理系统单语标准版 V2011 Build0608
0 Y8 @8 g ~2 T0 Y4 l7 ?漏洞详情:由于搜索处未对输入进行过滤,导致SQL注入。出现漏洞的文件名是:Search.Aspx。* ]7 ~1 F( N- N6 U1 K
漏洞验证:
$ \7 W: F3 C2 Z& y2 Q4 {1 M3 _) w
' @0 ^. | b/ }2 ^0 V# c访问http://localhost/Search.Aspx?sid=2&keyword=%' and '%Jarett%'='%Jarett,返回所有内容4 `2 W" P( `% J& O/ o/ \+ D: f
访问http://www.xxx.com/Search.Aspx?sid=2&keyword=%' and '%Jarett%'='%sb,返回为空
4 `! |; x. f+ p0 v" V- F X7 ~ : _1 q+ w: U' H) t9 s9 m6 i
那么就是存在注入了,不过可能无法直接union出来,要折半查找,慢慢手工刷吧,不一会儿,就刷到你脑残了。
6 X+ ?# ^/ Z( d4 t- }, c" H + ]( O+ B% W/ C8 R
6 H2 r C+ ~# k% Q 8 z$ l: S' \! n) l
得到密码以后一般直接加个admin目录就是后台了,不出意外的话,而且进入了后台以后,不出意外的话,你是无法GetShell的,但是本地测试时发现了个一个很有技巧的GetShell方法。这个系统使用了eWebEditor,但是无法直接利用,已经经过二次DLL封装处理的了。直接访问:$ S0 q4 B& Y( l- _* b1 G
D8 o/ C* Q/ ^% v
http://localhost/admin/Editor/aspx/style.aspx
9 B1 F' }; a8 c3 n4 Y2 S) z1 x是无法进入的,会带你到首页,要使用这个页面有两个条件:
' ?/ p$ w) H1 x+ L% Z1.身份为管理员并且已经登录。8 s v7 A0 D9 y" }$ Z
2.访问地址来源为后台地址,也就是请求中必须带上refer:http://localhost/admin/& b0 Q: l3 F4 S7 q; L
6 y& i1 V+ c5 G
现在我们第一个条件已经有了,只需要使用火狐的插件或者其他插件来伪造一个refer头就可以直接进入样式管理接口:$ L- R1 i, G6 L6 c; h1 Z
0 x$ v2 E1 t# J% D
http://localhost/admin/Editor/aspx/style.aspx# O! m& @' C+ H- _* L
剩下的提权应该大家都会了。
: t( `7 e G6 q* M
! G! v2 P5 q& ~0 z+ F/ h4 H之所以发出来是因为这个提权方式真的很特别,如果不是本地测试偶然发现,我相信没有多少人会去试一试加refer头。也算是奇葩GetShell了 ) F4 T% R9 `8 K; V
6 F5 T+ [+ c& D5 c, x! y* s- P : B# o: s J* Y! x
% I* |% u$ k. X' c; _$ O" P e& [提供修复措施:
) r2 B# U3 v- E& T3 q# {0 J7 N, f$ l J V8 o
加强过滤
; h" g# {& [: x- `6 f" S6 b9 o# _, m, n7 _% Y; }
|