千博企业网站管理系统是一套比较常见的企业网站管理系统,很多市面上的企业网站都是改它的源码而来的。它的ASPX版本是封装起来的,就是说很多东西是放进DLL里面的,因此给查看源代码带来了难度。漏洞出现的版本是2011版的了,网上挺多的,其实想要说的重点是在后面的GetShell,很有技巧。0 B! V, J$ e( G5 V* B( G* r$ F
; A$ L$ z( U% B7 l ~6 f+ `
X- c8 r5 {+ r( c7 v
+ p: p: I" H8 l% l T, B3 y 4 A0 |9 W e. S% j# I$ I# h
漏洞名称:千博企业网站管理系统SQL注入- b2 T7 B% H9 S: P! L* o4 \
测试版本:千博企业网站管理系统单语标准版 V2011 Build0608
# ]# U8 C" J+ B, d漏洞详情:由于搜索处未对输入进行过滤,导致SQL注入。出现漏洞的文件名是:Search.Aspx。: c9 g6 S8 C/ X6 w2 @8 w
漏洞验证:
. j+ Y; V ?" \) z1 X
^) I6 n6 o3 y9 Y1 U# j访问http://localhost/Search.Aspx?sid=2&keyword=%' and '%Jarett%'='%Jarett,返回所有内容
3 n3 b; z# I; X# V) d7 f- L访问http://www.xxx.com/Search.Aspx?sid=2&keyword=%' and '%Jarett%'='%sb,返回为空
0 z+ S; E. J! H1 Z3 n# { 5 K" ?% ?9 ~- _8 K6 w7 j( c8 ^) r
那么就是存在注入了,不过可能无法直接union出来,要折半查找,慢慢手工刷吧,不一会儿,就刷到你脑残了。( t1 A2 J m6 b& r" V
' H- Q5 V, Z1 [ K
# |3 F1 Q, |. _9 E ! O& r" N0 _& W2 P' L
得到密码以后一般直接加个admin目录就是后台了,不出意外的话,而且进入了后台以后,不出意外的话,你是无法GetShell的,但是本地测试时发现了个一个很有技巧的GetShell方法。这个系统使用了eWebEditor,但是无法直接利用,已经经过二次DLL封装处理的了。直接访问:" J. J8 ?3 H1 g: N% J8 v7 b
; F5 `- x0 e0 t, f. Q4 v
http://localhost/admin/Editor/aspx/style.aspx
* }; ]5 i9 h5 {% \是无法进入的,会带你到首页,要使用这个页面有两个条件:" m: w* D" x" U+ i" ?
1.身份为管理员并且已经登录。
8 Z; I3 T9 n$ q! O2.访问地址来源为后台地址,也就是请求中必须带上refer:http://localhost/admin/) B" m3 l d: U5 q
7 R( ?, S3 o: D7 ~! ~, ?3 c! x
现在我们第一个条件已经有了,只需要使用火狐的插件或者其他插件来伪造一个refer头就可以直接进入样式管理接口:" ~# y+ O; }' k; v+ y
) v0 z) h; M; k- G: f- p
http://localhost/admin/Editor/aspx/style.aspx
; e( i/ q( b9 V6 E剩下的提权应该大家都会了。) O9 L- i4 s6 B W" F. |; e
; I* T- n4 o7 r
之所以发出来是因为这个提权方式真的很特别,如果不是本地测试偶然发现,我相信没有多少人会去试一试加refer头。也算是奇葩GetShell了
`2 c* p4 g8 T0 _4 |8 z9 w
5 s: }/ B. _$ ?+ H0 Y ! M1 S; }9 r. p# b5 _+ I! P
1 T D9 y2 D5 ^ {+ b2 v. M3 F提供修复措施:1 ]4 @3 T' \5 C) G
" d V# x, s3 Y0 J! E) C1 p9 G( {2 N+ u
加强过滤9 c# M+ s) S8 n
. n% }% R& n# [2 L l9 r |