千博企业网站管理系统是一套比较常见的企业网站管理系统,很多市面上的企业网站都是改它的源码而来的。它的ASPX版本是封装起来的,就是说很多东西是放进DLL里面的,因此给查看源代码带来了难度。漏洞出现的版本是2011版的了,网上挺多的,其实想要说的重点是在后面的GetShell,很有技巧。4 g0 j/ W$ T$ U* G9 U
. p1 v; b. ^' Z; H8 G9 x" j9 Z
) N& R4 l$ o+ Z2 ^1 Z1 T
4 e' |9 ?1 m) j7 S# z; \
+ m' Y F3 o: K1 `' k0 y9 h* n
漏洞名称:千博企业网站管理系统SQL注入
+ J6 r4 D. g0 y; {9 i, w- G测试版本:千博企业网站管理系统单语标准版 V2011 Build0608
6 k# i% u1 t, @0 a漏洞详情:由于搜索处未对输入进行过滤,导致SQL注入。出现漏洞的文件名是:Search.Aspx。7 O" J8 ^ A6 }6 S: \$ l8 N
漏洞验证:+ L# ]/ K4 |* ?; }# }
+ W% x T$ E' E" q
访问http://localhost/Search.Aspx?sid=2&keyword=%' and '%Jarett%'='%Jarett,返回所有内容
( }! u9 I5 f" D+ ?/ L: j) B1 |访问http://www.xxx.com/Search.Aspx?sid=2&keyword=%' and '%Jarett%'='%sb,返回为空; v. }5 A& h" p
* b9 R# @( m' ~: H s1 [; C! m
那么就是存在注入了,不过可能无法直接union出来,要折半查找,慢慢手工刷吧,不一会儿,就刷到你脑残了。
, ^' g4 L! p0 |& n: p $ d' h1 f( ` r& a4 K) d
/ p& m" k( J* y' _: [# c/ u
2 ~: m: \- ]7 u1 H7 K2 P- j得到密码以后一般直接加个admin目录就是后台了,不出意外的话,而且进入了后台以后,不出意外的话,你是无法GetShell的,但是本地测试时发现了个一个很有技巧的GetShell方法。这个系统使用了eWebEditor,但是无法直接利用,已经经过二次DLL封装处理的了。直接访问:
9 b" e- q' d+ a: D6 R5 ]
4 Y/ T* R: D( \* G8 V8 F% Y" ihttp://localhost/admin/Editor/aspx/style.aspx+ W' a ~% h) U b
是无法进入的,会带你到首页,要使用这个页面有两个条件:$ p( X1 ~- n5 x' N3 G2 e
1.身份为管理员并且已经登录。
+ C- z* w1 r7 [' o% T" a9 S2.访问地址来源为后台地址,也就是请求中必须带上refer:http://localhost/admin/
& W4 h {$ p2 }$ D b4 X; ~3 k $ K6 B K* X: f L( N& a" t
现在我们第一个条件已经有了,只需要使用火狐的插件或者其他插件来伪造一个refer头就可以直接进入样式管理接口:* K, s! u& ]' E' |" S
5 o. q+ S) H" b9 \% h# ~" jhttp://localhost/admin/Editor/aspx/style.aspx( O" D2 ]' s4 h2 E1 u: Q, q1 l! Y- H
剩下的提权应该大家都会了。5 X6 B! W; W: Q+ u3 a
) h! [" @# Q! p之所以发出来是因为这个提权方式真的很特别,如果不是本地测试偶然发现,我相信没有多少人会去试一试加refer头。也算是奇葩GetShell了 5 J& E/ }: a; o' [
& }1 d& i' v5 u " ] A2 ?7 Z Q; e) X8 F
5 I: w# ?3 @& v! v
提供修复措施:! x, v9 q! U( ~; s/ f
# ]( K5 s' R, H c加强过滤; @* O. W) q5 x3 g1 f v$ j3 E. f
9 G8 o: j9 _6 |3 B+ w2 z |