千博企业网站管理系统是一套比较常见的企业网站管理系统,很多市面上的企业网站都是改它的源码而来的。它的ASPX版本是封装起来的,就是说很多东西是放进DLL里面的,因此给查看源代码带来了难度。漏洞出现的版本是2011版的了,网上挺多的,其实想要说的重点是在后面的GetShell,很有技巧。
0 S$ J8 H% P$ i7 S4 P0 K* p6 x' x' `: C: S6 q
d4 v* w+ Y6 |! v
5 Q3 i& S* [" @! o
# P0 E l' g) j" M H1 q$ S0 }漏洞名称:千博企业网站管理系统SQL注入
) q. T6 ^' ^. W8 {( r+ V测试版本:千博企业网站管理系统单语标准版 V2011 Build06088 o7 b7 l1 Y2 v
漏洞详情:由于搜索处未对输入进行过滤,导致SQL注入。出现漏洞的文件名是:Search.Aspx。
& C) @+ T: |! Z; ]8 M漏洞验证:) _9 E' q' ?+ R1 Q* ?
" M% W0 T/ c" m0 @访问http://localhost/Search.Aspx?sid=2&keyword=%' and '%Jarett%'='%Jarett,返回所有内容
. G. b! w z, \9 Y: s3 J访问http://www.xxx.com/Search.Aspx?sid=2&keyword=%' and '%Jarett%'='%sb,返回为空
5 O: O4 [5 n, M1 a2 P# m8 V* R
6 c7 A* o; D" m. a. a那么就是存在注入了,不过可能无法直接union出来,要折半查找,慢慢手工刷吧,不一会儿,就刷到你脑残了。
2 J; z0 T* J% v7 G0 ]
" p1 ?% m6 Z; E: a - F" ]# [) o% V6 _5 o
* S' Z( t) Q5 N' u2 l得到密码以后一般直接加个admin目录就是后台了,不出意外的话,而且进入了后台以后,不出意外的话,你是无法GetShell的,但是本地测试时发现了个一个很有技巧的GetShell方法。这个系统使用了eWebEditor,但是无法直接利用,已经经过二次DLL封装处理的了。直接访问:
4 ~2 v; A. A6 V- T' B3 R1 n . C" H8 @- S- _6 t( O
http://localhost/admin/Editor/aspx/style.aspx3 D3 ~% k$ d6 n4 D; ?% b
是无法进入的,会带你到首页,要使用这个页面有两个条件:( V9 A: o/ J n. i; Y' P$ K
1.身份为管理员并且已经登录。
* Q( w5 F8 o2 @* q A. @! L1 u w2.访问地址来源为后台地址,也就是请求中必须带上refer:http://localhost/admin/) E2 Z. U: P" Z8 p( t
0 V3 g" L* m; [9 T
现在我们第一个条件已经有了,只需要使用火狐的插件或者其他插件来伪造一个refer头就可以直接进入样式管理接口:% K) [$ x2 K7 b4 _4 O6 `
) b/ @+ A# U: c5 t2 H9 `
http://localhost/admin/Editor/aspx/style.aspx
$ }) B) [1 z* a: L* D& ~9 A7 H剩下的提权应该大家都会了。
9 r6 B0 i: _2 a" E7 _ 2 N( p1 @' r. S& _. @
之所以发出来是因为这个提权方式真的很特别,如果不是本地测试偶然发现,我相信没有多少人会去试一试加refer头。也算是奇葩GetShell了 ( j2 V1 c2 E! U: Z
+ Y/ A; ^, b5 k2 q# @ | l: v+ s: c & p) T( x2 T9 \. e, ^
: b% s# L! @/ F( r. d! a提供修复措施:
6 n3 d# G" s# f* c! ~+ [+ `, U0 `4 S) F& U8 V
加强过滤. U- O$ x$ U" D0 _& B
- G" `6 I1 u0 R. M9 P4 q+ h' o- O
|