千博企业网站管理系统是一套比较常见的企业网站管理系统,很多市面上的企业网站都是改它的源码而来的。它的ASPX版本是封装起来的,就是说很多东西是放进DLL里面的,因此给查看源代码带来了难度。漏洞出现的版本是2011版的了,网上挺多的,其实想要说的重点是在后面的GetShell,很有技巧。
& H* P% I3 U1 r5 B6 l1 U) D, \6 H
" g' G2 Q9 n' x* T& _/ g- k; v" |5 p: x 3 O6 i& o& T& U
( A' N0 b" t" a 1 {) g, V& c, b
漏洞名称:千博企业网站管理系统SQL注入( F; K$ ?( x3 A/ F2 c. u h9 L
测试版本:千博企业网站管理系统单语标准版 V2011 Build06088 `: h0 ?4 {& z% n4 o" [3 r; n
漏洞详情:由于搜索处未对输入进行过滤,导致SQL注入。出现漏洞的文件名是:Search.Aspx。/ Q% s+ ^+ f7 x w7 F% s
漏洞验证:3 m' C: H" n- V( ?
- y* p7 }/ d: t& X2 d6 _
访问http://localhost/Search.Aspx?sid=2&keyword=%' and '%Jarett%'='%Jarett,返回所有内容1 {& \0 L' P) [+ X* V6 ], j2 q
访问http://www.xxx.com/Search.Aspx?sid=2&keyword=%' and '%Jarett%'='%sb,返回为空9 v5 |) F) g$ b* i
: u/ y' A7 P( \" K那么就是存在注入了,不过可能无法直接union出来,要折半查找,慢慢手工刷吧,不一会儿,就刷到你脑残了。0 }- E: ]$ m' Y2 r
7 L z& @9 t2 p6 r; b
/ z8 y2 q4 P! j7 b' K% k3 t/ x9 q! e / }" B' J/ R6 T# O& u
得到密码以后一般直接加个admin目录就是后台了,不出意外的话,而且进入了后台以后,不出意外的话,你是无法GetShell的,但是本地测试时发现了个一个很有技巧的GetShell方法。这个系统使用了eWebEditor,但是无法直接利用,已经经过二次DLL封装处理的了。直接访问:* z" y; b& w! g/ `
+ c+ w l& s8 o; ?! e
http://localhost/admin/Editor/aspx/style.aspx# E/ v# k* z w
是无法进入的,会带你到首页,要使用这个页面有两个条件:
/ H6 t0 `: N* H; G4 N- j) X4 q1.身份为管理员并且已经登录。
2 u+ K* L& }6 Q: N, `! p$ P& d2.访问地址来源为后台地址,也就是请求中必须带上refer:http://localhost/admin/% r$ K4 m: n* T/ _
3 P5 p; R# v. d* y! K# N# r
现在我们第一个条件已经有了,只需要使用火狐的插件或者其他插件来伪造一个refer头就可以直接进入样式管理接口:* h6 d5 L7 n$ A6 X( S: F' H
8 j* S2 z3 c2 e
http://localhost/admin/Editor/aspx/style.aspx
w8 s4 S0 |, U0 f2 G4 K9 W; d9 ^剩下的提权应该大家都会了。) h* f/ K/ o8 f3 x
1 w; N5 r% I$ `: X% w
之所以发出来是因为这个提权方式真的很特别,如果不是本地测试偶然发现,我相信没有多少人会去试一试加refer头。也算是奇葩GetShell了 * O6 i w7 D9 _# k7 w5 B
, ^, q9 Z8 p$ A+ g' ]7 Z4 F- s 7 _" G- \, m- u3 Q+ F
4 h# M% N& U4 u4 g% p0 k% e提供修复措施:
& I) V9 f+ i3 M# `% [0 U/ {" n& }* W, ^( p
加强过滤
`3 [, S0 ^/ M& R7 o. l
2 X9 z( a! u' F7 f9 g' [1 @ |