千博企业网站管理系统是一套比较常见的企业网站管理系统,很多市面上的企业网站都是改它的源码而来的。它的ASPX版本是封装起来的,就是说很多东西是放进DLL里面的,因此给查看源代码带来了难度。漏洞出现的版本是2011版的了,网上挺多的,其实想要说的重点是在后面的GetShell,很有技巧。- b' c& e, b, T) h. Z/ n$ L) M
7 ^, O2 v Q. U Q. o+ L
b6 s0 k& K( ^
3 T8 j# l% U) v& u / d0 G3 L q" h, e" B. C
漏洞名称:千博企业网站管理系统SQL注入
$ a5 b# W! j2 ?+ W! x/ g: a测试版本:千博企业网站管理系统单语标准版 V2011 Build0608' R% G5 d- n( s, U6 y8 d8 F& b
漏洞详情:由于搜索处未对输入进行过滤,导致SQL注入。出现漏洞的文件名是:Search.Aspx。
. Z3 ]1 u( _% J! z4 `漏洞验证:0 _/ w: m, J4 H: l/ g$ ^9 l$ t
) ~" V% L* i+ j3 U4 d访问http://localhost/Search.Aspx?sid=2&keyword=%' and '%Jarett%'='%Jarett,返回所有内容, h& q) X! `. ?; s: \( j2 {
访问http://www.xxx.com/Search.Aspx?sid=2&keyword=%' and '%Jarett%'='%sb,返回为空
4 W: q$ e! ^3 R% _
$ g. x5 `* a4 k8 U/ Z$ P/ u. R那么就是存在注入了,不过可能无法直接union出来,要折半查找,慢慢手工刷吧,不一会儿,就刷到你脑残了。
7 E M4 t! L* L5 X+ Q9 a
2 h3 `) J& ?' Z
+ @/ J3 @$ O U$ ]% g " g) O9 g* s! ?3 O: R
得到密码以后一般直接加个admin目录就是后台了,不出意外的话,而且进入了后台以后,不出意外的话,你是无法GetShell的,但是本地测试时发现了个一个很有技巧的GetShell方法。这个系统使用了eWebEditor,但是无法直接利用,已经经过二次DLL封装处理的了。直接访问:
5 b" o! O- ?$ Z r ]6 X7 d4 ~ g2 p* m7 {! N6 j5 y
http://localhost/admin/Editor/aspx/style.aspx
0 ]- ^& X& }$ f. h% Z: W是无法进入的,会带你到首页,要使用这个页面有两个条件:
% e$ d: Y$ \2 }* a" x1.身份为管理员并且已经登录。8 O) p9 T* p; ^5 c* d
2.访问地址来源为后台地址,也就是请求中必须带上refer:http://localhost/admin/' e2 Q- q) m! q8 }5 V# j
W1 Y( k6 i. w+ I$ R" I0 R
现在我们第一个条件已经有了,只需要使用火狐的插件或者其他插件来伪造一个refer头就可以直接进入样式管理接口:
# T4 ~. ^. R2 }8 `7 n0 g- Q* S- v ' b% n, x- G9 [& ?, ]: x
http://localhost/admin/Editor/aspx/style.aspx* c0 g9 O' Q' Z* m A1 G
剩下的提权应该大家都会了。
6 T$ o: l, f) A
) Q0 E8 D8 v7 o之所以发出来是因为这个提权方式真的很特别,如果不是本地测试偶然发现,我相信没有多少人会去试一试加refer头。也算是奇葩GetShell了
0 o* G# _; l3 r n' W3 F4 ]
t- @. T+ B# U4 ^; B
4 F( |1 ^# m& v6 N5 ^; ]: u
) @+ _. u* \& W. @6 T; S& b提供修复措施:/ [% N7 h/ G' f9 u: n! |7 l! C
0 B8 [6 P& K# F7 S' }/ p4 L
加强过滤
~# k( B2 t# v5 M+ Y5 u5 c4 _9 a, x: V1 t) [/ x
|