千博企业网站管理系统是一套比较常见的企业网站管理系统,很多市面上的企业网站都是改它的源码而来的。它的ASPX版本是封装起来的,就是说很多东西是放进DLL里面的,因此给查看源代码带来了难度。漏洞出现的版本是2011版的了,网上挺多的,其实想要说的重点是在后面的GetShell,很有技巧。( ^2 H5 g# Q, `: Q1 A! q
. Y% N# w4 _/ i
" R1 s7 b% m# \; X7 R
# G6 I& W- T% d- @* D! } ) ^( l( y" z2 j! R' t6 T
漏洞名称:千博企业网站管理系统SQL注入 S6 D2 {+ L$ x1 x9 c
测试版本:千博企业网站管理系统单语标准版 V2011 Build0608
! U. B- U8 w# M* n漏洞详情:由于搜索处未对输入进行过滤,导致SQL注入。出现漏洞的文件名是:Search.Aspx。
L6 i* q8 T& P$ Z漏洞验证:) V! b1 }8 C# Z
, }) z: x+ t! }( n; o! N" G
访问http://localhost/Search.Aspx?sid=2&keyword=%' and '%Jarett%'='%Jarett,返回所有内容
: F% O1 z! \2 T2 f4 V% y A访问http://www.xxx.com/Search.Aspx?sid=2&keyword=%' and '%Jarett%'='%sb,返回为空
/ x/ a% [& I) z0 q( p ( f. O% K% o0 a& v/ }
那么就是存在注入了,不过可能无法直接union出来,要折半查找,慢慢手工刷吧,不一会儿,就刷到你脑残了。% s4 t2 U5 c7 u0 s# y/ X
, ~6 s8 f' @ y . K! w8 i0 Z; b
" V6 Q. W: c2 _' v: m5 _9 z! |. N得到密码以后一般直接加个admin目录就是后台了,不出意外的话,而且进入了后台以后,不出意外的话,你是无法GetShell的,但是本地测试时发现了个一个很有技巧的GetShell方法。这个系统使用了eWebEditor,但是无法直接利用,已经经过二次DLL封装处理的了。直接访问:
) a9 k- l9 [0 X5 u2 f- p& N M " C8 m: D2 K9 P8 w
http://localhost/admin/Editor/aspx/style.aspx
) ] g/ e7 J9 o$ E是无法进入的,会带你到首页,要使用这个页面有两个条件:& c& E3 y3 {6 K% V S2 `9 l7 m5 n. d
1.身份为管理员并且已经登录。
9 ]" Z0 W. h. @' D" V$ n" U% w2.访问地址来源为后台地址,也就是请求中必须带上refer:http://localhost/admin/
{2 Z' U/ V- E- L; n& F! ^ u # c s1 B$ d \% }; w
现在我们第一个条件已经有了,只需要使用火狐的插件或者其他插件来伪造一个refer头就可以直接进入样式管理接口:* S V( P; }" u% d
M, G6 H3 V8 r# yhttp://localhost/admin/Editor/aspx/style.aspx
0 ^) w: u* @; q9 u# y剩下的提权应该大家都会了。7 U1 @( ^ ?& e
( S5 r; H2 h* x1 C# h+ j, G之所以发出来是因为这个提权方式真的很特别,如果不是本地测试偶然发现,我相信没有多少人会去试一试加refer头。也算是奇葩GetShell了
, v/ Y. F9 S9 w Q }+ V( y1 A5 R- ?" }, I/ h4 x* C1 y. D3 Y
5 }2 K3 [6 d* N* w( G f3 Z$ h2 c& i F; ?; ~4 Q( W
提供修复措施:+ S) J5 `. N4 ^# {" i
4 ^4 C, A0 y$ x- ]$ v
加强过滤$ D* `1 N8 K+ \& L! ?4 M
4 f/ y3 R1 J5 W0 C+ o+ j% V I
|