千博企业网站管理系统是一套比较常见的企业网站管理系统,很多市面上的企业网站都是改它的源码而来的。它的ASPX版本是封装起来的,就是说很多东西是放进DLL里面的,因此给查看源代码带来了难度。漏洞出现的版本是2011版的了,网上挺多的,其实想要说的重点是在后面的GetShell,很有技巧。
0 r+ t( B$ v- ^! \
8 ?7 ^8 f6 Q& ?5 a7 z 3 \/ O- i8 a5 ^7 g
- D) W( A/ X- {5 |
2 J/ L4 P* a) }- [# z2 t
漏洞名称:千博企业网站管理系统SQL注入( X, h+ d6 C3 [6 n' [9 {0 P
测试版本:千博企业网站管理系统单语标准版 V2011 Build0608# ]) Y" ^7 Z; E8 b+ Y% D
漏洞详情:由于搜索处未对输入进行过滤,导致SQL注入。出现漏洞的文件名是:Search.Aspx。+ l$ }8 [3 X9 ~
漏洞验证:
9 Q$ n. v* u) x% u2 D6 M + {. r+ _& R( y7 S6 t. y P
访问http://localhost/Search.Aspx?sid=2&keyword=%' and '%Jarett%'='%Jarett,返回所有内容
a. ~9 C* ^1 z" c: F1 A! f7 q! l访问http://www.xxx.com/Search.Aspx?sid=2&keyword=%' and '%Jarett%'='%sb,返回为空
" E7 ?$ l+ C0 l$ F4 p+ [ " Y7 P- D% D% ?; ^% c) o
那么就是存在注入了,不过可能无法直接union出来,要折半查找,慢慢手工刷吧,不一会儿,就刷到你脑残了。$ |7 O3 s0 I I, W2 X
2 r2 F8 }- V7 E( K/ Z0 ~ . b* i5 ?% a% S7 o7 X8 a
% C9 O& Z( t: ]8 S) ]4 X7 n得到密码以后一般直接加个admin目录就是后台了,不出意外的话,而且进入了后台以后,不出意外的话,你是无法GetShell的,但是本地测试时发现了个一个很有技巧的GetShell方法。这个系统使用了eWebEditor,但是无法直接利用,已经经过二次DLL封装处理的了。直接访问:
8 v% _1 h3 {4 L( ?+ l
* ]3 e R6 u4 X" O0 A/ w5 D' Zhttp://localhost/admin/Editor/aspx/style.aspx
" _: P. e. X+ N7 G% t是无法进入的,会带你到首页,要使用这个页面有两个条件:
' @2 O Q c' w1 H3 g1.身份为管理员并且已经登录。
4 G9 ^ |7 }2 \ E2 x2.访问地址来源为后台地址,也就是请求中必须带上refer:http://localhost/admin/
: ^% n; C/ t# z, M# ]4 o% O5 {. A2 u & @7 A: ]4 K& R% _
现在我们第一个条件已经有了,只需要使用火狐的插件或者其他插件来伪造一个refer头就可以直接进入样式管理接口:* ~. y6 n) @9 M7 p/ |
; a* w) C3 L4 ]& m( d/ ^9 O" lhttp://localhost/admin/Editor/aspx/style.aspx) I! t" h0 c% |+ e/ p) v7 E
剩下的提权应该大家都会了。
5 L' e: }( g, T* t * n+ D Q+ F ^1 z
之所以发出来是因为这个提权方式真的很特别,如果不是本地测试偶然发现,我相信没有多少人会去试一试加refer头。也算是奇葩GetShell了 . J5 e4 Y% w* \8 V
4 t1 `' C$ ^$ \: d/ v( |" k : \# U4 {8 u# i# l6 t
( X6 k( R) x! h, {! l3 c提供修复措施:
9 Y' F; G+ ]& `, E; R+ p
5 Q3 k1 P, c" Y) p6 N加强过滤3 C( g! f; A+ S2 c
( \7 x n/ c& O$ t- k7 r6 a |