千博企业网站管理系统是一套比较常见的企业网站管理系统,很多市面上的企业网站都是改它的源码而来的。它的ASPX版本是封装起来的,就是说很多东西是放进DLL里面的,因此给查看源代码带来了难度。漏洞出现的版本是2011版的了,网上挺多的,其实想要说的重点是在后面的GetShell,很有技巧。+ R! Y$ i( A8 a1 ~. S v% M- c9 d
9 ~# o0 z3 V) ?7 d. u
8 v& T" q( v1 }( H u5 b* c ( l7 T6 F1 S# ^7 ^
4 b# Q+ u. m5 e9 W3 O% h$ C漏洞名称:千博企业网站管理系统SQL注入) j3 C: s! [* }
测试版本:千博企业网站管理系统单语标准版 V2011 Build0608
) o4 r! ^- _# S6 J% S0 m9 L7 F" ?) @, {漏洞详情:由于搜索处未对输入进行过滤,导致SQL注入。出现漏洞的文件名是:Search.Aspx。
+ X/ D: @' @9 ?7 U5 I漏洞验证:5 ~$ s' Y( t6 s1 P7 z, h9 Z( A
% L, G* J$ M3 N* y访问http://localhost/Search.Aspx?sid=2&keyword=%' and '%Jarett%'='%Jarett,返回所有内容% e+ I' p2 D$ T/ H$ i
访问http://www.xxx.com/Search.Aspx?sid=2&keyword=%' and '%Jarett%'='%sb,返回为空
' G0 P; a% A: G8 ?7 ~% [& k
$ b7 x8 a- t) Z4 `那么就是存在注入了,不过可能无法直接union出来,要折半查找,慢慢手工刷吧,不一会儿,就刷到你脑残了。
* d7 n2 [% T0 Z1 B: a) K0 q& A ! z/ W [! Q! n
2 A$ \8 S6 w3 H' ~7 ]3 \
. b% y5 R3 L1 v. g得到密码以后一般直接加个admin目录就是后台了,不出意外的话,而且进入了后台以后,不出意外的话,你是无法GetShell的,但是本地测试时发现了个一个很有技巧的GetShell方法。这个系统使用了eWebEditor,但是无法直接利用,已经经过二次DLL封装处理的了。直接访问:
$ x K, p& g( s% A$ r
1 ^: M2 A% O3 xhttp://localhost/admin/Editor/aspx/style.aspx, I! K/ u' r" D
是无法进入的,会带你到首页,要使用这个页面有两个条件:
U$ J% v' w: {# C. Z9 L1.身份为管理员并且已经登录。
! W5 t- A- K% Z/ h2.访问地址来源为后台地址,也就是请求中必须带上refer:http://localhost/admin// q) s8 x( ?$ S& {1 x! V8 X$ ]/ l
8 D, R. z w; ]) ?+ e& i现在我们第一个条件已经有了,只需要使用火狐的插件或者其他插件来伪造一个refer头就可以直接进入样式管理接口:
' b0 E: ]- |* r7 S; n3 ^' ^0 O0 P" W+ `2 f
: W, C! w) U* S6 M* S+ Shttp://localhost/admin/Editor/aspx/style.aspx
! v8 B. s* K( L7 H剩下的提权应该大家都会了。
$ a$ g. J2 L2 a6 [; J/ Z" `
; ^/ E; F, ]& T: e" H6 p之所以发出来是因为这个提权方式真的很特别,如果不是本地测试偶然发现,我相信没有多少人会去试一试加refer头。也算是奇葩GetShell了
6 Y/ s; ?* J, m1 A: ~* }2 L" y/ z& d: H7 N' f X# R# s
/ c: Q4 w$ c% T9 \+ B
* }: D2 w9 n! X2 G; C9 s$ A提供修复措施:
2 q- J5 K7 C7 j& H1 `. n
; m( m) }* B) P/ ?- I加强过滤
% z4 s# z( `. j7 j( A1 V9 Q4 a0 X2 M- `, B- E! G
|