千博企业网站管理系统是一套比较常见的企业网站管理系统,很多市面上的企业网站都是改它的源码而来的。它的ASPX版本是封装起来的,就是说很多东西是放进DLL里面的,因此给查看源代码带来了难度。漏洞出现的版本是2011版的了,网上挺多的,其实想要说的重点是在后面的GetShell,很有技巧。 `' i0 A6 r+ M: ~; Y
3 p R5 W, C' z g: G9 z , {; @- `6 C% v `4 h
! B h5 w( J9 h+ u7 z! x
1 A1 g- R5 Z* r) b( m漏洞名称:千博企业网站管理系统SQL注入$ G' T4 [4 u+ L
测试版本:千博企业网站管理系统单语标准版 V2011 Build0608
! o+ @$ n0 I a9 T3 H- ~( J漏洞详情:由于搜索处未对输入进行过滤,导致SQL注入。出现漏洞的文件名是:Search.Aspx。
% ]- R3 S4 w, ~5 R4 ^$ m漏洞验证:: _, h4 C% H/ J, u5 {
# a2 m) F; }8 B2 _7 n% P
访问http://localhost/Search.Aspx?sid=2&keyword=%' and '%Jarett%'='%Jarett,返回所有内容
+ R2 Y+ q& O% _+ a3 I E& u访问http://www.xxx.com/Search.Aspx?sid=2&keyword=%' and '%Jarett%'='%sb,返回为空4 B1 f7 }( Y2 n+ X
6 R X& T0 o" B1 s
那么就是存在注入了,不过可能无法直接union出来,要折半查找,慢慢手工刷吧,不一会儿,就刷到你脑残了。
" s3 S, @7 }/ }" r# E- R
* I& p* s z% q, ~* E- W8 f+ g5 S) ]
3 O/ ^- ^3 N3 r2 d
' [/ z2 I. s# N L. C+ d得到密码以后一般直接加个admin目录就是后台了,不出意外的话,而且进入了后台以后,不出意外的话,你是无法GetShell的,但是本地测试时发现了个一个很有技巧的GetShell方法。这个系统使用了eWebEditor,但是无法直接利用,已经经过二次DLL封装处理的了。直接访问:7 w% P% [* P2 a/ U! m
/ q; k9 ~3 Z" G; X. u8 M$ q% E
http://localhost/admin/Editor/aspx/style.aspx
) o/ S7 a: Q+ M9 O- q是无法进入的,会带你到首页,要使用这个页面有两个条件:
! u$ |9 N( A2 S1 c8 v# x/ L1.身份为管理员并且已经登录。0 c# @$ o F" f/ w
2.访问地址来源为后台地址,也就是请求中必须带上refer:http://localhost/admin/
7 y% D7 ]/ a; z' a) ` ; C0 m: P& q/ a' I _
现在我们第一个条件已经有了,只需要使用火狐的插件或者其他插件来伪造一个refer头就可以直接进入样式管理接口:# x$ G" P0 D& l; p3 H
- S& X% ~' @6 z& w& m
http://localhost/admin/Editor/aspx/style.aspx$ ~1 j+ u8 c! n; F$ m' P3 H
剩下的提权应该大家都会了。
$ B' J; T- k S+ n/ @
, ?5 |1 y& T2 b之所以发出来是因为这个提权方式真的很特别,如果不是本地测试偶然发现,我相信没有多少人会去试一试加refer头。也算是奇葩GetShell了
& h: e; x, @7 [( I0 v( n% d
) c' N3 [! }, v( D0 m! G! w
1 ]5 r% V$ G b' ?0 O c2 |
% @5 _* W8 q) g3 T- W, S提供修复措施:- M7 }. c/ n' H% }2 U4 y, i$ M
: P# L0 k" ^5 z+ u; k6 W
加强过滤7 u+ g3 S' `$ `4 w d' A' C
& [- Y1 Z. Q6 c. b: y( M K$ P
|