千博企业网站管理系统是一套比较常见的企业网站管理系统,很多市面上的企业网站都是改它的源码而来的。它的ASPX版本是封装起来的,就是说很多东西是放进DLL里面的,因此给查看源代码带来了难度。漏洞出现的版本是2011版的了,网上挺多的,其实想要说的重点是在后面的GetShell,很有技巧。$ f: E* \; |4 n ^* }: ^# m& \# h0 W
% G" |6 M; M6 P% H# }
& D% n e1 H) V2 v, m3 i" J
7 F8 j1 y" q2 M
- E/ c8 i0 v. L2 {
漏洞名称:千博企业网站管理系统SQL注入7 l% F e) R& c7 u
测试版本:千博企业网站管理系统单语标准版 V2011 Build06086 x* ]$ u& n6 F6 g
漏洞详情:由于搜索处未对输入进行过滤,导致SQL注入。出现漏洞的文件名是:Search.Aspx。1 {& B# w, y& }3 j" l
漏洞验证:
! `, \1 H8 N) }5 J/ Q" I
! ^ ]" P- C, V. e' \# y# c5 _访问http://localhost/Search.Aspx?sid=2&keyword=%' and '%Jarett%'='%Jarett,返回所有内容! \/ B4 K8 b- X' l
访问http://www.xxx.com/Search.Aspx?sid=2&keyword=%' and '%Jarett%'='%sb,返回为空
2 V/ ]% B% {" I2 O& @, w
1 f( B2 R: [* k7 u3 h那么就是存在注入了,不过可能无法直接union出来,要折半查找,慢慢手工刷吧,不一会儿,就刷到你脑残了。3 ^5 c% w4 u. V7 U
+ J( @$ O4 w+ G9 y7 M# O" g4 L* H
0 z# T( W& N0 R1 s6 o5 F, _7 c
o+ F$ H% G- K4 B8 P; M得到密码以后一般直接加个admin目录就是后台了,不出意外的话,而且进入了后台以后,不出意外的话,你是无法GetShell的,但是本地测试时发现了个一个很有技巧的GetShell方法。这个系统使用了eWebEditor,但是无法直接利用,已经经过二次DLL封装处理的了。直接访问:
2 B7 c( s& q4 z0 v [8 ~4 d2 A % F* [1 C$ ~5 F& e
http://localhost/admin/Editor/aspx/style.aspx
" g- Q% N3 S# ?% h, k! p是无法进入的,会带你到首页,要使用这个页面有两个条件:8 S5 x/ r' R# e1 H0 O8 }1 ^
1.身份为管理员并且已经登录。 E( U8 h. ^) N7 a$ f2 s
2.访问地址来源为后台地址,也就是请求中必须带上refer:http://localhost/admin/
& _! X0 g+ r8 X9 f8 C1 h( P, ?
- B( o5 o* z+ |: z9 j0 M1 o1 m$ S现在我们第一个条件已经有了,只需要使用火狐的插件或者其他插件来伪造一个refer头就可以直接进入样式管理接口:7 q9 p- w, n: q( H6 |3 Q
5 ?' }7 n, ?, q5 Zhttp://localhost/admin/Editor/aspx/style.aspx
0 b& g) H& t# b剩下的提权应该大家都会了。, o, O4 u+ ^/ O1 O* R3 U3 W
+ S0 q% j( ~7 F) ?
之所以发出来是因为这个提权方式真的很特别,如果不是本地测试偶然发现,我相信没有多少人会去试一试加refer头。也算是奇葩GetShell了
8 t* u+ ]9 A2 f1 M* Z: `* C5 A* h
9 ^6 N) H0 ^( h( m' n4 E
2 p d8 f9 ?& R8 M9 o+ a
2 M% R1 t$ S: }+ Q9 w6 B, v3 l提供修复措施:
1 M. c% w9 s, o1 `* i$ x5 g; V% F! S3 J" h. L
加强过滤; {, E' R. D8 M. q
- S W8 ^5 V" ]* T |