千博企业网站管理系统是一套比较常见的企业网站管理系统,很多市面上的企业网站都是改它的源码而来的。它的ASPX版本是封装起来的,就是说很多东西是放进DLL里面的,因此给查看源代码带来了难度。漏洞出现的版本是2011版的了,网上挺多的,其实想要说的重点是在后面的GetShell,很有技巧。# U; ?% f" [+ Y& B1 i" j+ `" i
! h2 f, ?% w/ n) d0 o$ _
8 J! G, x9 d+ L% b 0 a, C- R9 _0 `0 Y9 W9 T) ]( d
( ]) ]2 J% E$ y漏洞名称:千博企业网站管理系统SQL注入
k. f( T/ ?, O1 ]+ m: Q测试版本:千博企业网站管理系统单语标准版 V2011 Build0608
, F: \$ R% {' E* Q q# w漏洞详情:由于搜索处未对输入进行过滤,导致SQL注入。出现漏洞的文件名是:Search.Aspx。
- r5 i4 D9 z& h- W8 i6 f漏洞验证:- |, y0 q- c& k/ A) k, a J
7 n4 D+ K( G* I, j访问http://localhost/Search.Aspx?sid=2&keyword=%' and '%Jarett%'='%Jarett,返回所有内容2 H" P, I g* d+ D: S# ]
访问http://www.xxx.com/Search.Aspx?sid=2&keyword=%' and '%Jarett%'='%sb,返回为空
' B8 c" J4 t/ a4 f4 S! u
; z. ^* a8 R, f0 c& N那么就是存在注入了,不过可能无法直接union出来,要折半查找,慢慢手工刷吧,不一会儿,就刷到你脑残了。
! @+ T; S( v# U" R/ l" z+ P3 W" k# r
- {4 @, K$ N. y7 Z) E$ j & f2 c; O! w# e- ?1 J, c
7 Y" z# d' ~8 U得到密码以后一般直接加个admin目录就是后台了,不出意外的话,而且进入了后台以后,不出意外的话,你是无法GetShell的,但是本地测试时发现了个一个很有技巧的GetShell方法。这个系统使用了eWebEditor,但是无法直接利用,已经经过二次DLL封装处理的了。直接访问:
+ I6 n1 ?1 [% `+ {) W
) D) C% G- z7 r; xhttp://localhost/admin/Editor/aspx/style.aspx
`7 y/ G2 o; W6 v Z1 l% F. Y' ?是无法进入的,会带你到首页,要使用这个页面有两个条件: g& m% u# U% H5 ~
1.身份为管理员并且已经登录。
+ `6 {- d. H/ ?2 \: x8 `- W2.访问地址来源为后台地址,也就是请求中必须带上refer:http://localhost/admin/
1 G: |. b, m8 j- u! R9 G
5 X+ B) N5 I: I$ J现在我们第一个条件已经有了,只需要使用火狐的插件或者其他插件来伪造一个refer头就可以直接进入样式管理接口:5 z1 `1 W, D+ i9 P* g
0 @0 R( i/ x4 Z2 O+ Ehttp://localhost/admin/Editor/aspx/style.aspx
& V5 A. s) j- J0 F1 l4 h$ ?剩下的提权应该大家都会了。9 a7 Q* Q" t- m2 z- V4 ^" c) d
' i1 j( g3 E" L: r5 j之所以发出来是因为这个提权方式真的很特别,如果不是本地测试偶然发现,我相信没有多少人会去试一试加refer头。也算是奇葩GetShell了
- t; Y' ?$ G8 [# ~7 y; _' S: `: p/ Y6 u& i6 e2 X
) j+ m0 y; F; K! _3 I# F; y/ F6 T1 z7 r
提供修复措施:
) @+ S7 a* I; H2 z; Y- r
' m" v' x5 a9 p: r5 C) B& i# f" ^加强过滤
3 y5 @: c* u& D$ K' N9 m \6 b& N
|