千博企业网站管理系统是一套比较常见的企业网站管理系统,很多市面上的企业网站都是改它的源码而来的。它的ASPX版本是封装起来的,就是说很多东西是放进DLL里面的,因此给查看源代码带来了难度。漏洞出现的版本是2011版的了,网上挺多的,其实想要说的重点是在后面的GetShell,很有技巧。
9 l- v3 g: W+ N; g* Y. V* g' y
/ o* b* e- q1 P1 _ I
! o' D6 z& ^9 F/ x& \1 C0 l # b: y6 L% W& ]. F5 B- W
7 d$ [ |: P/ d3 t6 L漏洞名称:千博企业网站管理系统SQL注入% }- }0 O$ o/ @4 y& q
测试版本:千博企业网站管理系统单语标准版 V2011 Build0608
$ \* U7 g7 Z0 x9 Y. i4 e漏洞详情:由于搜索处未对输入进行过滤,导致SQL注入。出现漏洞的文件名是:Search.Aspx。 J: T3 ^) ]* I. M1 L5 N" B
漏洞验证:
5 g2 O g" d( n4 _ c1 M$ ~0 V* q
访问http://localhost/Search.Aspx?sid=2&keyword=%' and '%Jarett%'='%Jarett,返回所有内容6 ~' O7 v/ Z- B" d& [* W2 I
访问http://www.xxx.com/Search.Aspx?sid=2&keyword=%' and '%Jarett%'='%sb,返回为空
" }8 Z1 r, w8 `% }) I/ j0 a 8 v6 }" f5 j- R4 {2 x+ U4 ?1 ?1 g
那么就是存在注入了,不过可能无法直接union出来,要折半查找,慢慢手工刷吧,不一会儿,就刷到你脑残了。0 E1 ]9 D; H0 G0 n1 u- I# v3 N8 c
4 Y1 h8 Z% ^2 x' \) i V$ ?% G; c
2 R" k. ~3 i- \* |; _ + u2 o a; D, L8 o R A2 {" F, Z
得到密码以后一般直接加个admin目录就是后台了,不出意外的话,而且进入了后台以后,不出意外的话,你是无法GetShell的,但是本地测试时发现了个一个很有技巧的GetShell方法。这个系统使用了eWebEditor,但是无法直接利用,已经经过二次DLL封装处理的了。直接访问:' [ C1 t5 H- @, O; {
5 [; t! ?% U; \) J) N1 T3 ^
http://localhost/admin/Editor/aspx/style.aspx
, f2 X' v5 p Q1 I% ?; F是无法进入的,会带你到首页,要使用这个页面有两个条件:4 y* v: ]0 g$ ^/ I
1.身份为管理员并且已经登录。
( f; L! {- q' R; F- R8 j- a2.访问地址来源为后台地址,也就是请求中必须带上refer:http://localhost/admin/
* x$ ^& d, f2 ?$ y) }4 H , x$ o3 W* ~) ^2 B. Y/ G, t/ d
现在我们第一个条件已经有了,只需要使用火狐的插件或者其他插件来伪造一个refer头就可以直接进入样式管理接口:# [& X! ?- C, H. M* ^/ r% n
( z$ D8 ]5 X0 M8 a
http://localhost/admin/Editor/aspx/style.aspx' X% u' h+ R# M
剩下的提权应该大家都会了。
' g2 _# I* O- j6 h- d+ o
0 u" w5 Q& r) n K' T8 a& ]之所以发出来是因为这个提权方式真的很特别,如果不是本地测试偶然发现,我相信没有多少人会去试一试加refer头。也算是奇葩GetShell了 ) n& h( R9 \/ E3 u
6 P# X/ p0 K" e* |5 m, V1 q
$ B1 a* {. J8 T/ g3 O
% |$ D2 I( u2 v7 R# i8 F提供修复措施:7 u4 {/ Q0 Q" |* v( V" r/ h
* p! _4 R/ p' q加强过滤" d7 H/ ]$ v6 L& `. r0 I
% S. s/ {4 z1 X5 K# n* G" ~8 v) n |