千博企业网站管理系统是一套比较常见的企业网站管理系统,很多市面上的企业网站都是改它的源码而来的。它的ASPX版本是封装起来的,就是说很多东西是放进DLL里面的,因此给查看源代码带来了难度。漏洞出现的版本是2011版的了,网上挺多的,其实想要说的重点是在后面的GetShell,很有技巧。, V+ H: l% r; C Z# k
: V0 n" a! B9 G. u0 Q& b) e _; P# A
# r2 b3 @) O6 @% c5 Q2 K; D+ a
) U6 W6 ]; M2 y5 C
, B6 D$ W$ c" n6 \& x) r8 w, {漏洞名称:千博企业网站管理系统SQL注入9 s7 F+ ?* h2 H% A: G* w
测试版本:千博企业网站管理系统单语标准版 V2011 Build06086 M8 W2 V5 V1 h2 z, |/ H0 o& [
漏洞详情:由于搜索处未对输入进行过滤,导致SQL注入。出现漏洞的文件名是:Search.Aspx。
b, H2 o+ \4 |漏洞验证:2 x( F3 Q C2 C+ U; t6 ]. G( X& u# S
7 z. ~, K# A& H& l6 H访问http://localhost/Search.Aspx?sid=2&keyword=%' and '%Jarett%'='%Jarett,返回所有内容, Y9 O1 @8 R4 f5 `; E
访问http://www.xxx.com/Search.Aspx?sid=2&keyword=%' and '%Jarett%'='%sb,返回为空
/ V# }8 t4 [& h" T7 v; j% ]% b n
6 w. J5 u9 r0 {: W那么就是存在注入了,不过可能无法直接union出来,要折半查找,慢慢手工刷吧,不一会儿,就刷到你脑残了。3 I, R7 v, \6 ^# x9 f% N& e# D
7 ], e6 F' G; N1 x! V! v F6 K
- j" T, w6 I3 O8 D' R
: H+ o2 u5 P6 j; I' D2 v7 d
得到密码以后一般直接加个admin目录就是后台了,不出意外的话,而且进入了后台以后,不出意外的话,你是无法GetShell的,但是本地测试时发现了个一个很有技巧的GetShell方法。这个系统使用了eWebEditor,但是无法直接利用,已经经过二次DLL封装处理的了。直接访问:
7 ]: o" ?$ w; m: a6 F2 U& j F3 x4 V$ h% g
http://localhost/admin/Editor/aspx/style.aspx/ m3 ~, X2 s! s! U
是无法进入的,会带你到首页,要使用这个页面有两个条件:
- T4 n1 A3 ]7 E! V/ _1.身份为管理员并且已经登录。
3 C$ h" ~7 n2 Z! e- Y2.访问地址来源为后台地址,也就是请求中必须带上refer:http://localhost/admin/
4 l v- m8 F, i3 {/ y' z# A! V 8 k9 a( ?( }' u: n8 S& J3 l* p# e
现在我们第一个条件已经有了,只需要使用火狐的插件或者其他插件来伪造一个refer头就可以直接进入样式管理接口:' t0 ~6 [6 C( x
( c) Y; }3 q3 s9 `5 G
http://localhost/admin/Editor/aspx/style.aspx
7 F2 l# q* ^- @剩下的提权应该大家都会了。
* L: ?4 A& }9 J" _! ~: X# C" O * W2 r! ^4 U7 z+ I
之所以发出来是因为这个提权方式真的很特别,如果不是本地测试偶然发现,我相信没有多少人会去试一试加refer头。也算是奇葩GetShell了
9 S3 X9 ~$ N8 A' c- l% e: `9 R/ ~1 b6 u/ z0 R9 E; `
+ I0 K% M* x6 O6 _ v( E
% K. |, K" E: B" p7 C {1 j
提供修复措施:- p4 v4 |) S7 W2 E
9 w4 Z; {+ q) l$ ]4 W2 P: I4 F
加强过滤3 p. P8 r0 @9 l9 X
2 y" { ?, [6 a4 D z8 D |