千博企业网站管理系统是一套比较常见的企业网站管理系统,很多市面上的企业网站都是改它的源码而来的。它的ASPX版本是封装起来的,就是说很多东西是放进DLL里面的,因此给查看源代码带来了难度。漏洞出现的版本是2011版的了,网上挺多的,其实想要说的重点是在后面的GetShell,很有技巧。
# [+ V, K5 m+ x/ y( R% U D+ O; j! {
c! y4 L( u% J$ J
! l% U( j7 p7 I4 Z 7 h0 i3 ?, n, H3 Q. m# s
漏洞名称:千博企业网站管理系统SQL注入 P' o8 n; b" J) W2 s
测试版本:千博企业网站管理系统单语标准版 V2011 Build0608/ K4 @8 S6 \7 ?) a* E* c' o
漏洞详情:由于搜索处未对输入进行过滤,导致SQL注入。出现漏洞的文件名是:Search.Aspx。
- e* Q( {+ ?7 J e* z9 V; Y漏洞验证:
7 \% t, h/ N$ Z$ f( n0 j# U& ~$ L 6 u* [8 g: a: r& T1 B
访问http://localhost/Search.Aspx?sid=2&keyword=%' and '%Jarett%'='%Jarett,返回所有内容8 g# N: U$ y6 h+ u A0 H
访问http://www.xxx.com/Search.Aspx?sid=2&keyword=%' and '%Jarett%'='%sb,返回为空' x* _8 b1 I; j+ V X0 w
- b" k( j& @- H% H那么就是存在注入了,不过可能无法直接union出来,要折半查找,慢慢手工刷吧,不一会儿,就刷到你脑残了。9 v/ h1 g0 z! w6 u+ U
% B& I% Q0 g4 n, l$ j% ^ 5 ?8 z& l' w J
& P/ U# g7 E2 {. _, ]2 t; ^& o1 i
得到密码以后一般直接加个admin目录就是后台了,不出意外的话,而且进入了后台以后,不出意外的话,你是无法GetShell的,但是本地测试时发现了个一个很有技巧的GetShell方法。这个系统使用了eWebEditor,但是无法直接利用,已经经过二次DLL封装处理的了。直接访问:' ?/ {" U) u. `, K1 o
* d& W6 T& I* W. V9 C
http://localhost/admin/Editor/aspx/style.aspx. \0 V* v( S; U: h, k9 @1 D
是无法进入的,会带你到首页,要使用这个页面有两个条件:& ^. f/ d% m0 q5 Y, Y
1.身份为管理员并且已经登录。! m2 u/ D) P0 T7 y" j
2.访问地址来源为后台地址,也就是请求中必须带上refer:http://localhost/admin/
9 J! M6 y' t6 N n: G0 z0 u$ V
- Q# h- J( J+ \现在我们第一个条件已经有了,只需要使用火狐的插件或者其他插件来伪造一个refer头就可以直接进入样式管理接口:
, u5 p4 J9 E* q $ M O, m6 k8 q
http://localhost/admin/Editor/aspx/style.aspx' v, v9 Q5 `- ?0 S- K `6 ]
剩下的提权应该大家都会了。
) P K9 v, i6 }: U% B' R. {$ t6 v- l* m
- y) y: J/ H& a之所以发出来是因为这个提权方式真的很特别,如果不是本地测试偶然发现,我相信没有多少人会去试一试加refer头。也算是奇葩GetShell了
+ C1 I& [3 N$ s& j
, h% a/ n9 ?. I" m ( ~' d5 x; `- j' y X- ?
6 W- a z) x* C$ n
提供修复措施:
/ l4 m0 Q# k7 M1 w4 f( q! B( G& M
" J" E* [- I' E3 k加强过滤0 \3 B( F+ u" j& ~
5 }8 b# A" O* N# L6 u2 N |