千博企业网站管理系统是一套比较常见的企业网站管理系统,很多市面上的企业网站都是改它的源码而来的。它的ASPX版本是封装起来的,就是说很多东西是放进DLL里面的,因此给查看源代码带来了难度。漏洞出现的版本是2011版的了,网上挺多的,其实想要说的重点是在后面的GetShell,很有技巧。
. l3 X6 d' s2 ^/ }( q; ?' b$ l5 s. Q( b
: e2 i, A/ U w( H5 P$ @. K" m4 e 1 H$ o1 `$ m/ l$ Q: M% T- m
. L% W$ t6 A4 a漏洞名称:千博企业网站管理系统SQL注入
, i4 P6 [: [2 @- o测试版本:千博企业网站管理系统单语标准版 V2011 Build0608; n; G/ t" C" n8 j
漏洞详情:由于搜索处未对输入进行过滤,导致SQL注入。出现漏洞的文件名是:Search.Aspx。8 x1 R% Z+ `; ?4 }( f# d
漏洞验证:
' b3 w" I1 L" u, e3 S ! S* p& s. h1 j3 r4 X' F F" \
访问http://localhost/Search.Aspx?sid=2&keyword=%' and '%Jarett%'='%Jarett,返回所有内容
7 @. W" g; O# D6 d7 v2 S访问http://www.xxx.com/Search.Aspx?sid=2&keyword=%' and '%Jarett%'='%sb,返回为空
8 }+ i: A# k6 N, A& p2 y
& T0 v" D* u) F. v. V0 M2 Z- i* n那么就是存在注入了,不过可能无法直接union出来,要折半查找,慢慢手工刷吧,不一会儿,就刷到你脑残了。; u+ X# W. W! H2 S8 K+ k
: W5 t f6 Y" V: f9 q 8 a: Y! O* ?' v7 ^$ j% E4 t5 a
9 j; `7 T' c M
得到密码以后一般直接加个admin目录就是后台了,不出意外的话,而且进入了后台以后,不出意外的话,你是无法GetShell的,但是本地测试时发现了个一个很有技巧的GetShell方法。这个系统使用了eWebEditor,但是无法直接利用,已经经过二次DLL封装处理的了。直接访问:& _1 E# j8 Z2 M9 c' W
& K: F6 F: @% g. c, t, S
http://localhost/admin/Editor/aspx/style.aspx' t4 l& x. Q3 z# Z2 i/ C
是无法进入的,会带你到首页,要使用这个页面有两个条件:7 u( J5 s3 _ C9 E
1.身份为管理员并且已经登录。
6 q" y9 I, s- [$ Y9 j! x# |* w2.访问地址来源为后台地址,也就是请求中必须带上refer:http://localhost/admin/
: s* C9 J# i$ X& N: T 6 a5 G: H" y- t' ^
现在我们第一个条件已经有了,只需要使用火狐的插件或者其他插件来伪造一个refer头就可以直接进入样式管理接口:
- \; S+ z3 v2 u# O& t 8 _' q+ Z% l/ r0 ~6 U7 N5 W
http://localhost/admin/Editor/aspx/style.aspx z' b3 t: R" Q: G2 I9 {) t* a' B
剩下的提权应该大家都会了。 U- y; ]: S' T* f% X4 o9 @8 o3 R/ p }
5 B% R" u6 |' J之所以发出来是因为这个提权方式真的很特别,如果不是本地测试偶然发现,我相信没有多少人会去试一试加refer头。也算是奇葩GetShell了
* T7 O/ k# B7 B* w) L6 h
% g+ n, d$ b2 }/ v; Y7 L
8 ?9 W3 u0 J# p, W) a, M
' X7 F( c5 U8 m提供修复措施:
4 r) P$ f2 P, `
- n+ _4 Y, Y0 F% N C- @; @加强过滤
( k7 m: P Q' v! \! c1 v$ w6 K; D; D
|