千博企业网站管理系统是一套比较常见的企业网站管理系统,很多市面上的企业网站都是改它的源码而来的。它的ASPX版本是封装起来的,就是说很多东西是放进DLL里面的,因此给查看源代码带来了难度。漏洞出现的版本是2011版的了,网上挺多的,其实想要说的重点是在后面的GetShell,很有技巧。& |$ {3 p9 X, V+ R
; }% p# k5 `% e6 b! R& n $ I" Z% a- n' z: H n. u
3 u, I5 Z$ N3 X6 f: i9 M7 o( ]1 A
~5 b; b2 ?( C4 Y E2 r; Q* E% p% Y漏洞名称:千博企业网站管理系统SQL注入
0 ] M- e# M4 J测试版本:千博企业网站管理系统单语标准版 V2011 Build0608+ J4 u% P' o9 I5 O9 w1 T* _
漏洞详情:由于搜索处未对输入进行过滤,导致SQL注入。出现漏洞的文件名是:Search.Aspx。) L, x# w& h8 a+ v
漏洞验证:. E' t2 O5 P9 K/ u9 K5 \1 n8 d
V W0 }2 r8 Z
访问http://localhost/Search.Aspx?sid=2&keyword=%' and '%Jarett%'='%Jarett,返回所有内容- S8 `! j: |' D! [$ _
访问http://www.xxx.com/Search.Aspx?sid=2&keyword=%' and '%Jarett%'='%sb,返回为空. Z- X$ y5 Z/ c2 ^
8 B8 x" K/ H3 J0 U+ O" j
那么就是存在注入了,不过可能无法直接union出来,要折半查找,慢慢手工刷吧,不一会儿,就刷到你脑残了。
4 X1 y6 H% C/ l9 v . W4 j' B2 |! i3 a* @. v2 {7 ~
3 W* i3 x( p4 g( d6 [$ r$ P+ s' C
- K" Q% K1 Y: p得到密码以后一般直接加个admin目录就是后台了,不出意外的话,而且进入了后台以后,不出意外的话,你是无法GetShell的,但是本地测试时发现了个一个很有技巧的GetShell方法。这个系统使用了eWebEditor,但是无法直接利用,已经经过二次DLL封装处理的了。直接访问:9 s; Y: X& ^1 ?* a
. K4 G2 k! S. |: d1 L, hhttp://localhost/admin/Editor/aspx/style.aspx
# w- |6 ?0 h: B1 g5 G是无法进入的,会带你到首页,要使用这个页面有两个条件:
7 g; M! @% K: T5 n! U1.身份为管理员并且已经登录。
$ j! O/ T+ m7 s) j2.访问地址来源为后台地址,也就是请求中必须带上refer:http://localhost/admin/6 B8 m8 _: v- V
* W# m1 A) n& x
现在我们第一个条件已经有了,只需要使用火狐的插件或者其他插件来伪造一个refer头就可以直接进入样式管理接口:
) k1 C( u6 N8 F, _) V; {! c( e5 j
( Q1 Y( {+ I4 R1 L7 |http://localhost/admin/Editor/aspx/style.aspx
, f& a# O3 v& r! z0 W n剩下的提权应该大家都会了。
" x* L' q7 `6 I) d O0 r; r/ d
3 v( x5 b! G4 q$ a1 J之所以发出来是因为这个提权方式真的很特别,如果不是本地测试偶然发现,我相信没有多少人会去试一试加refer头。也算是奇葩GetShell了 # l1 M$ Q) }! R2 z
2 w3 I. G5 C, j! v) c* Z* H
% ]8 b) ]2 m# q5 }
4 D: R+ ~4 v/ [% S' N* I3 a提供修复措施:4 q. {) a, N3 W" W2 M% H! D5 b$ J! a
% M) ]# E% ?4 ^1 C- ~
加强过滤. z& t& i' E" l: U( D
5 N3 L f& W$ v7 `) _0 c |