千博企业网站管理系统是一套比较常见的企业网站管理系统,很多市面上的企业网站都是改它的源码而来的。它的ASPX版本是封装起来的,就是说很多东西是放进DLL里面的,因此给查看源代码带来了难度。漏洞出现的版本是2011版的了,网上挺多的,其实想要说的重点是在后面的GetShell,很有技巧。
& C4 C) a* C b7 H1 t* T: }
+ G! n( X O. z1 g6 Z8 ~4 l
# l0 b" h2 B- `" }* J* _
7 f- W: u1 J1 _( |! y
$ P F- U$ _2 r* u) H& `1 |漏洞名称:千博企业网站管理系统SQL注入! W: R# }5 @+ M
测试版本:千博企业网站管理系统单语标准版 V2011 Build0608
: p( z) k b4 G8 B漏洞详情:由于搜索处未对输入进行过滤,导致SQL注入。出现漏洞的文件名是:Search.Aspx。$ }+ s: o% j) `' Y" Y6 S+ Z
漏洞验证:% A x5 ~" i3 ^) d) @& U
. g4 {! q% @" R6 L% k% O Y访问http://localhost/Search.Aspx?sid=2&keyword=%' and '%Jarett%'='%Jarett,返回所有内容
7 \/ V# | | Q$ M3 ?7 Z; v% x# [* A访问http://www.xxx.com/Search.Aspx?sid=2&keyword=%' and '%Jarett%'='%sb,返回为空
- d' c2 Y$ _5 x! \7 P$ ]
3 l( V5 |' M: N$ J那么就是存在注入了,不过可能无法直接union出来,要折半查找,慢慢手工刷吧,不一会儿,就刷到你脑残了。
0 `1 n9 C) R D, r
. _" Z* O0 m9 M) u+ u9 E; k
/ r$ K% p2 B# X0 i0 R* [# X
5 h3 ?& N- V' v4 F6 S得到密码以后一般直接加个admin目录就是后台了,不出意外的话,而且进入了后台以后,不出意外的话,你是无法GetShell的,但是本地测试时发现了个一个很有技巧的GetShell方法。这个系统使用了eWebEditor,但是无法直接利用,已经经过二次DLL封装处理的了。直接访问:
! |' n" l7 \, Y) k
9 E- N" i% O. l$ O0 uhttp://localhost/admin/Editor/aspx/style.aspx+ q( Y& e. j( m9 |" `3 u" z5 z4 X" r
是无法进入的,会带你到首页,要使用这个页面有两个条件:
^9 |9 A8 j; }2 m. G5 A x; M Z4 u1.身份为管理员并且已经登录。
+ I) [8 x; u& ?- r; \7 ]/ n: J& L/ c2.访问地址来源为后台地址,也就是请求中必须带上refer:http://localhost/admin/
' @( e! H/ F+ D+ {' Y" h ! }, m- W. Y, z3 `
现在我们第一个条件已经有了,只需要使用火狐的插件或者其他插件来伪造一个refer头就可以直接进入样式管理接口:
$ G5 I9 U$ J( o2 D* i; X! ?; p5 X; ^/ M
4 G$ W7 }1 a% m% ehttp://localhost/admin/Editor/aspx/style.aspx
+ j$ s& t+ C' d5 i6 P剩下的提权应该大家都会了。
- M" j6 V$ `+ `. r% R- B0 c: w8 o 5 l" V, \4 }6 a1 ]! o/ N' C
之所以发出来是因为这个提权方式真的很特别,如果不是本地测试偶然发现,我相信没有多少人会去试一试加refer头。也算是奇葩GetShell了 " |$ g; l) r0 r, f9 }
3 p3 O' \2 p- k4 g
4 j& z+ p1 i( p) O m8 l+ \* r! v2 o; Z1 j6 Q" O7 r
提供修复措施:
8 x5 N- W2 T! u( b5 i% b% ^( f: P+ U, j( t
加强过滤
% [0 Y4 ^% c5 ?) i) {2 B* H q) }5 M( _4 j6 I' G9 X6 E
|