千博企业网站管理系统是一套比较常见的企业网站管理系统,很多市面上的企业网站都是改它的源码而来的。它的ASPX版本是封装起来的,就是说很多东西是放进DLL里面的,因此给查看源代码带来了难度。漏洞出现的版本是2011版的了,网上挺多的,其实想要说的重点是在后面的GetShell,很有技巧。
9 |: q: @) w6 w6 m% K: e
9 b' `( }4 g4 q- J6 I
6 C. K: o. |+ x0 Q; I: G6 |
% X. N. ^6 z4 D; D+ L
5 u( e) f7 G' v/ E; R6 Y漏洞名称:千博企业网站管理系统SQL注入
5 R: A3 B! Q3 ^% y测试版本:千博企业网站管理系统单语标准版 V2011 Build0608
l/ U) o1 C4 z漏洞详情:由于搜索处未对输入进行过滤,导致SQL注入。出现漏洞的文件名是:Search.Aspx。: V% ?/ N8 k* |; q* }5 _
漏洞验证:
7 w& M' Q+ I, u# O) U* R ; P! {) F5 {7 e9 O1 x' m( N( Y
访问http://localhost/Search.Aspx?sid=2&keyword=%' and '%Jarett%'='%Jarett,返回所有内容( K4 m; _8 J0 V; ^2 u/ e7 T
访问http://www.xxx.com/Search.Aspx?sid=2&keyword=%' and '%Jarett%'='%sb,返回为空
. o `# Z* V) G/ I ( p& O) z2 M' y. ?8 ^' I
那么就是存在注入了,不过可能无法直接union出来,要折半查找,慢慢手工刷吧,不一会儿,就刷到你脑残了。
4 O. H) z9 y- G * u, m" [: ?, W# Q% K
" I% V3 A6 v$ o) J5 n1 J
. ^" o/ t' s6 @; q s1 b" d0 k得到密码以后一般直接加个admin目录就是后台了,不出意外的话,而且进入了后台以后,不出意外的话,你是无法GetShell的,但是本地测试时发现了个一个很有技巧的GetShell方法。这个系统使用了eWebEditor,但是无法直接利用,已经经过二次DLL封装处理的了。直接访问:
% c5 j$ l6 K/ k+ k; u 4 m! |( {+ q2 t" i" G
http://localhost/admin/Editor/aspx/style.aspx$ P" _0 u) n& X* @
是无法进入的,会带你到首页,要使用这个页面有两个条件:3 _* O! j7 a& v( f$ L
1.身份为管理员并且已经登录。9 o' |) |. P& w h
2.访问地址来源为后台地址,也就是请求中必须带上refer:http://localhost/admin/
4 G. w3 T8 l* q# D" s/ m ' j# e- F3 J o. Z' m/ w
现在我们第一个条件已经有了,只需要使用火狐的插件或者其他插件来伪造一个refer头就可以直接进入样式管理接口:
& {+ t$ A7 y" o# J' k! A4 D A - t# z& A$ X& s& Z, y
http://localhost/admin/Editor/aspx/style.aspx
4 e v' k4 H; T1 j剩下的提权应该大家都会了。
- f$ h8 u. o$ O5 v
: m( s0 b3 C# D3 F之所以发出来是因为这个提权方式真的很特别,如果不是本地测试偶然发现,我相信没有多少人会去试一试加refer头。也算是奇葩GetShell了 3 m+ b! {- Q. q3 g
5 d. _) T* Y L" D$ v& w6 O1 W" w8 F ' y2 S! [& S; n0 H
O) d: g( Y% N8 X, D
提供修复措施:
) K! D R1 Y9 n$ `8 b0 y& Y, T$ w5 k3 W' V
加强过滤
, i: K: N! Z; K5 f; R' A# y4 D) W4 K1 q: x7 d0 t K4 o) q |
|