千博企业网站管理系统是一套比较常见的企业网站管理系统,很多市面上的企业网站都是改它的源码而来的。它的ASPX版本是封装起来的,就是说很多东西是放进DLL里面的,因此给查看源代码带来了难度。漏洞出现的版本是2011版的了,网上挺多的,其实想要说的重点是在后面的GetShell,很有技巧。
5 s2 B$ j8 N& e" `; q& r# A0 E( z+ H% Q" w V+ C# G& \
* B( M% j" o8 C) R% Q 7 b" z. t, ]: v% R! x( `
3 g% q% x6 X7 U: L* V" M, D, l5 i" o漏洞名称:千博企业网站管理系统SQL注入8 I# P$ d$ G4 ?
测试版本:千博企业网站管理系统单语标准版 V2011 Build0608
3 k% o) O( |7 a* R- e! Q; O7 }漏洞详情:由于搜索处未对输入进行过滤,导致SQL注入。出现漏洞的文件名是:Search.Aspx。
2 d% i% Y5 d x4 p0 O) M漏洞验证:# d4 P6 }& ]- H" d7 h
* y8 P- E( Y$ w! l" k8 l8 L
访问http://localhost/Search.Aspx?sid=2&keyword=%' and '%Jarett%'='%Jarett,返回所有内容
4 D2 h2 E v* R. b9 u7 @访问http://www.xxx.com/Search.Aspx?sid=2&keyword=%' and '%Jarett%'='%sb,返回为空
; |/ X" ^: y7 Z# D9 y
5 O1 B4 |- f6 V3 |8 I5 T那么就是存在注入了,不过可能无法直接union出来,要折半查找,慢慢手工刷吧,不一会儿,就刷到你脑残了。4 ~. [' Q# e, z: ~/ [
5 R' u M+ `5 x6 o. e( q5 P+ m: Y
' O2 p( x3 R* s
( @, r, f1 }8 Z* u& `0 s: M; r得到密码以后一般直接加个admin目录就是后台了,不出意外的话,而且进入了后台以后,不出意外的话,你是无法GetShell的,但是本地测试时发现了个一个很有技巧的GetShell方法。这个系统使用了eWebEditor,但是无法直接利用,已经经过二次DLL封装处理的了。直接访问:3 L0 \( A2 u/ `; g: i8 O5 N
% v! S( T5 e A5 K bhttp://localhost/admin/Editor/aspx/style.aspx' J& q u2 L) l5 m
是无法进入的,会带你到首页,要使用这个页面有两个条件:
; O3 |: ]# b [: t/ \1 ^3 ^) z1.身份为管理员并且已经登录。
7 e% V( y( l. y, v' S+ D5 B+ k2.访问地址来源为后台地址,也就是请求中必须带上refer:http://localhost/admin/
/ k3 O- l- N8 `& N* r# p ( A, R8 ] ~' D, T) {' P, D
现在我们第一个条件已经有了,只需要使用火狐的插件或者其他插件来伪造一个refer头就可以直接进入样式管理接口:
# k: o9 F. f% J1 c- j9 p2 `9 R! o8 o
1 d6 V$ `& Z8 Q R7 Mhttp://localhost/admin/Editor/aspx/style.aspx* ~1 f D* E1 b8 v
剩下的提权应该大家都会了。# _2 `" U+ l' p8 H0 ^5 w% r
: |- Q! z) W% t+ t. x之所以发出来是因为这个提权方式真的很特别,如果不是本地测试偶然发现,我相信没有多少人会去试一试加refer头。也算是奇葩GetShell了
$ ]7 M# D# N0 [' {0 i0 z; H% |* q4 Z9 U5 e/ X
6 D9 S8 x4 j6 H1 t: ~4 I
: K5 I4 T' s7 g1 F* m9 d提供修复措施:: S1 H) `4 m* e) s; ]- v
- J3 f5 f/ w; e+ J* z5 O加强过滤
k' m* C2 M. f0 k4 x. _' I
0 C3 G/ l/ H' k4 w- W+ H |