千博企业网站管理系统是一套比较常见的企业网站管理系统,很多市面上的企业网站都是改它的源码而来的。它的ASPX版本是封装起来的,就是说很多东西是放进DLL里面的,因此给查看源代码带来了难度。漏洞出现的版本是2011版的了,网上挺多的,其实想要说的重点是在后面的GetShell,很有技巧。: e1 P$ Q1 G* A- `% Y
5 I g" l5 `0 P 9 i0 o3 |! P1 [ _
" m; r& C0 b6 g% y: u% A# Q, B: t + x9 M% G9 d5 \1 E [8 x/ e
漏洞名称:千博企业网站管理系统SQL注入
4 `& j( ~" `2 I/ X测试版本:千博企业网站管理系统单语标准版 V2011 Build0608: V- e0 H7 A) O- s' H: V9 W
漏洞详情:由于搜索处未对输入进行过滤,导致SQL注入。出现漏洞的文件名是:Search.Aspx。
7 B. A2 }6 E* p漏洞验证:% D' s, I- |% b( ]
8 Q; O* [( l* L" o, v
访问http://localhost/Search.Aspx?sid=2&keyword=%' and '%Jarett%'='%Jarett,返回所有内容: E. L0 T: [6 p' b) C# E
访问http://www.xxx.com/Search.Aspx?sid=2&keyword=%' and '%Jarett%'='%sb,返回为空" j; N1 v2 v& c! ~; m# O
- P0 g" k6 `6 Z3 W1 j9 o O6 n/ q
那么就是存在注入了,不过可能无法直接union出来,要折半查找,慢慢手工刷吧,不一会儿,就刷到你脑残了。* p( n f* Q8 T3 V
" Q S8 ~6 P( L: X7 g5 O6 \' G
8 ?! l& s; O1 A m- O$ |
9 v) ?( i4 y9 a( \4 }$ p
得到密码以后一般直接加个admin目录就是后台了,不出意外的话,而且进入了后台以后,不出意外的话,你是无法GetShell的,但是本地测试时发现了个一个很有技巧的GetShell方法。这个系统使用了eWebEditor,但是无法直接利用,已经经过二次DLL封装处理的了。直接访问:3 i* X, U/ q1 C8 {& i
4 i3 Q0 U+ n% c6 }5 phttp://localhost/admin/Editor/aspx/style.aspx$ S+ P! V; J8 q k1 c# u0 k
是无法进入的,会带你到首页,要使用这个页面有两个条件:; d2 t( D' M: N/ ~4 s9 o
1.身份为管理员并且已经登录。
7 @" u& ~9 r$ f7 }$ x2.访问地址来源为后台地址,也就是请求中必须带上refer:http://localhost/admin/+ `- Q* y- M: x: z) c
# n" ?7 t0 F; O. t现在我们第一个条件已经有了,只需要使用火狐的插件或者其他插件来伪造一个refer头就可以直接进入样式管理接口:
% k9 d7 P2 Y8 z! B2 _' F 2 F$ _9 u3 X3 x( a/ C
http://localhost/admin/Editor/aspx/style.aspx0 @8 ^( x- T' b5 s: I& p
剩下的提权应该大家都会了。% v5 |% `% J) s6 k @
. R4 X W; _1 I& `6 V3 n% ~/ o
之所以发出来是因为这个提权方式真的很特别,如果不是本地测试偶然发现,我相信没有多少人会去试一试加refer头。也算是奇葩GetShell了
9 p% T+ M4 R6 q" ?: \. B: N( W; w- [) g
- k$ _4 g8 p3 ~( E I2 h( L6 H
提供修复措施:
+ T6 m3 y7 y3 n8 u% r/ L! j
( V N i" s a [5 O: |加强过滤2 N0 Q" K' \, J8 e5 g# o
* [/ K1 R5 r+ ~4 j* s |