千博企业网站管理系统是一套比较常见的企业网站管理系统,很多市面上的企业网站都是改它的源码而来的。它的ASPX版本是封装起来的,就是说很多东西是放进DLL里面的,因此给查看源代码带来了难度。漏洞出现的版本是2011版的了,网上挺多的,其实想要说的重点是在后面的GetShell,很有技巧。
4 f+ N @8 B k! L6 b
) ~5 l2 w& W" S( W! y0 o. X ' _- t' `- Q5 o5 p0 n
. l8 |6 N: e3 v
0 c) j9 c. z" H漏洞名称:千博企业网站管理系统SQL注入
& y5 Z$ U. u; `4 h测试版本:千博企业网站管理系统单语标准版 V2011 Build0608
" Q9 h$ ^0 }: b0 Z& {" ^6 W, p漏洞详情:由于搜索处未对输入进行过滤,导致SQL注入。出现漏洞的文件名是:Search.Aspx。
9 n8 k* u, c( G9 W, w7 ~0 W漏洞验证:
+ b( F( k4 ^6 I- X: h9 a3 R# V; a : L I7 T' E* V6 h
访问http://localhost/Search.Aspx?sid=2&keyword=%' and '%Jarett%'='%Jarett,返回所有内容
5 E% c0 r$ h s, |7 K- ]访问http://www.xxx.com/Search.Aspx?sid=2&keyword=%' and '%Jarett%'='%sb,返回为空( S1 z; b( u0 j h3 o/ p1 U
! v7 G g( y/ ?' ]% C7 y8 g
那么就是存在注入了,不过可能无法直接union出来,要折半查找,慢慢手工刷吧,不一会儿,就刷到你脑残了。
6 L x! d& U) Q6 d! N" G
. ~3 d5 T; ]' F# R
4 d1 [! O) `$ m Y5 E, j: j ! j( m6 x, i4 `" J R8 y! |1 c, p
得到密码以后一般直接加个admin目录就是后台了,不出意外的话,而且进入了后台以后,不出意外的话,你是无法GetShell的,但是本地测试时发现了个一个很有技巧的GetShell方法。这个系统使用了eWebEditor,但是无法直接利用,已经经过二次DLL封装处理的了。直接访问:
! x# x& T/ g$ e, q9 c! h% g2 {! T. E , S9 L; z0 B T6 I5 r8 g, ]/ | m
http://localhost/admin/Editor/aspx/style.aspx
1 ^/ c, B! M0 E是无法进入的,会带你到首页,要使用这个页面有两个条件:
6 |. w2 e0 X2 y) [1.身份为管理员并且已经登录。4 R( ~- P5 k7 b0 |) X0 f
2.访问地址来源为后台地址,也就是请求中必须带上refer:http://localhost/admin/$ D2 D. N8 b8 Y
: ? S9 k/ R4 y/ I* e! V1 f$ H8 n/ L3 X现在我们第一个条件已经有了,只需要使用火狐的插件或者其他插件来伪造一个refer头就可以直接进入样式管理接口:' o& Z$ V1 z0 ^4 U
6 G- n7 q3 _; ]0 H% N
http://localhost/admin/Editor/aspx/style.aspx% f4 |6 \' Q8 F, {) ]
剩下的提权应该大家都会了。8 r* h; W% Y1 ^$ x, D/ z% }$ K
* s) I, {' p0 P; \
之所以发出来是因为这个提权方式真的很特别,如果不是本地测试偶然发现,我相信没有多少人会去试一试加refer头。也算是奇葩GetShell了
1 f' T* d% N3 E/ f8 u4 p/ u5 D3 q& ?0 G4 x2 b. W
o+ Y6 Q/ P" H& a) c( c9 D6 K- _
3 n! j# j& H! i, ^% \提供修复措施:5 v, v- v9 a5 c. }
9 E, O( P! @; H/ f3 X加强过滤
3 D# X% H4 m7 R( i
- b- i. s( f& O8 Z% o' | |