千博企业网站管理系统是一套比较常见的企业网站管理系统,很多市面上的企业网站都是改它的源码而来的。它的ASPX版本是封装起来的,就是说很多东西是放进DLL里面的,因此给查看源代码带来了难度。漏洞出现的版本是2011版的了,网上挺多的,其实想要说的重点是在后面的GetShell,很有技巧。
. K8 i! U i k; T1 g2 f \& B& J/ ]2 X. P4 f9 B8 }* V/ T( v
& o" L# i# P: k. g 4 X" ~# ^5 O3 B
3 L1 S* c/ y7 P1 ~$ d漏洞名称:千博企业网站管理系统SQL注入; W3 `9 E( d' M/ F( d2 x' N w
测试版本:千博企业网站管理系统单语标准版 V2011 Build0608
' i5 A# _$ L; R' O漏洞详情:由于搜索处未对输入进行过滤,导致SQL注入。出现漏洞的文件名是:Search.Aspx。
/ ^& [. q& n# ?5 c漏洞验证:
; S e% L) `3 r( J- m4 R/ I0 ^
' X; v1 [/ L% a- \9 p9 M访问http://localhost/Search.Aspx?sid=2&keyword=%' and '%Jarett%'='%Jarett,返回所有内容
2 W) j8 @ ]* f! \; R8 O% {7 \7 r访问http://www.xxx.com/Search.Aspx?sid=2&keyword=%' and '%Jarett%'='%sb,返回为空
. f8 ] B2 {2 Y6 R# n; H 8 W( W3 |6 w* \: m7 a ~) m
那么就是存在注入了,不过可能无法直接union出来,要折半查找,慢慢手工刷吧,不一会儿,就刷到你脑残了。4 ]7 ?2 Q( f7 F6 d0 H1 x
2 p% j! A, d; x" J7 A3 E6 L: ~
. |# a2 _8 s( ]4 O4 ^3 @, k( ~
8 ]& \- y: p. L, z/ }% X得到密码以后一般直接加个admin目录就是后台了,不出意外的话,而且进入了后台以后,不出意外的话,你是无法GetShell的,但是本地测试时发现了个一个很有技巧的GetShell方法。这个系统使用了eWebEditor,但是无法直接利用,已经经过二次DLL封装处理的了。直接访问:
, D+ C5 e! [& W+ U0 F$ B# |
2 k, E, R9 V6 N% `9 h2 @6 _- u$ S9 Qhttp://localhost/admin/Editor/aspx/style.aspx2 M W E1 z& p5 ^- \
是无法进入的,会带你到首页,要使用这个页面有两个条件:3 o* y0 m: j/ G( O4 O
1.身份为管理员并且已经登录。3 C0 u- ]* n" \5 M( |; ~. n
2.访问地址来源为后台地址,也就是请求中必须带上refer:http://localhost/admin/
2 a5 m" [' M# H. v7 G8 ^7 A 5 Z5 m) d4 j3 S p# |
现在我们第一个条件已经有了,只需要使用火狐的插件或者其他插件来伪造一个refer头就可以直接进入样式管理接口:5 h u6 p N! o7 G
+ K2 W% f c2 J* T; yhttp://localhost/admin/Editor/aspx/style.aspx8 j( y0 g* u j9 M& r$ E1 E
剩下的提权应该大家都会了。
6 ~. B0 S. l0 ` u6 I3 M
7 F, h: @6 j4 K- |" G# Z3 w之所以发出来是因为这个提权方式真的很特别,如果不是本地测试偶然发现,我相信没有多少人会去试一试加refer头。也算是奇葩GetShell了
; b [" n& l0 D* M, k/ _6 N. Y$ j7 m: U8 Q/ k8 I
# `2 j9 H8 U' B; o8 N8 r
8 P9 A- t" I/ z7 V* Y8 a4 u4 f! S提供修复措施:4 Q7 |* |. |8 T0 f9 ]# ]
3 ~+ ?. y' u9 A6 V, w加强过滤* ^* u3 s0 O/ n3 c3 e( \
# N% L& J+ L. d2 F+ t
|