感谢生生不息在freebuf社区”分享团”里给出线索,才有了本文
, @0 s2 [. h! h g
2 j, C8 G' _4 T8 k7 R5 i* U原帖:http://club.freebuf.com/?/question/129#reply12+ Q( N) {" u3 q; w8 P/ |
* ?0 E [. P! @6 Z4 z0 v, qFCKEditor 2.6.8文件上传漏洞5 ]1 D; a7 _9 u) o1 f$ X0 n
( q$ j5 X- z5 m* t K/ xExploit-db上原文如下:
/ a7 e/ F' ]# Q$ m, f
7 [4 P1 O/ [# y. `- E- Title: FCKEditor 2.6.8 ASP Version File Upload Protection bypass& Z' A3 @% `+ R8 E: a8 _* B w9 `
- Credit goes to: Mostafa Azizi, Soroush Dalili
% m( z6 f g& G5 [- Link:http://sourceforge.net/projects/fckeditor/files/FCKeditor/
- v6 p& L, D3 j C" _+ p5 u, N- Description:
4 ]! \' w& ~% \# w6 _ i! kThere is no validation on the extensions when FCKEditor 2.6.8 ASP version is5 q+ J) e" U# O, `/ I0 P3 Y( K
dealing with the duplicate files. As a result, it is possible to bypass) s+ B' a! D9 F% g1 n+ H
the protection and upload a file with any extension.
$ }5 p# [1 P3 ~ c6 b# g- Reference: http://soroush.secproject.com/blog/2012/11/file-in-the-hole/* @2 [, z6 z% t9 A& f9 T
- Solution: Please check the provided reference or the vendor website.
+ g p/ w8 |! C# F* W1 C1 V$ X/ {' v
- PoC:http://www.youtube.com/v/1VpxlJ5 ... ;rel=0&vq=hd720/ m- e" O2 U' |) h4 V
"9 l1 u5 ~2 m2 Y0 {
Note: Quick patch for FCKEditor 2.6.8 File Upload Bypass:9 L6 R# K3 N8 C4 K7 D. o+ R' F
: H4 g0 Q- A: l% ~9 F8 \! t- k
In “config.asp”, wherever you have:. U4 Y# S: V% r6 m0 y
ConfigAllowedExtensions.Add “File”,”Extensions Here”5 K2 E% i( R* x+ G* [
Change it to:) X/ D( y& u, O: c
ConfigAllowedExtensions.Add “File”,”^(Extensions Here)$”在视频(需翻墙)里,我们可以看的很清楚:5 a; m- P3 r2 Y- V+ f9 q0 W% N$ \
6 }+ S9 J+ _8 f0 g1.首先,aspx是禁止上传的) u0 k, K, Y- ?: q0 E
2.使用%00截断(url decode),第一次上传文件名会被转成_符号
( `( ^" A; ]3 B# @5 P
1 v; K4 [% M* ^2 m) [
0 {. l6 s! a: S5 E$ B% e2 U! K
9 s- x. e* y) s4 @" {接下来,我们进行第二次上传时,奇迹就发生了
* e/ Y# L6 a$ I+ e# `# u- f, y7 j' o* @4 E/ H# b0 D2 S0 q6 F
, O4 ^" L, ]7 L. O' v) F1 q' P! }1 ~2 `! ~+ `
代码层面分析可以看下http://lanu.sinaapp.com/ASPVBvbscript/121.html# F9 i; p4 o/ S+ d* p M3 T7 V6 ?7 H
$ o% L* }2 U# t$ }& i) D2 }' @8 Y; h $ S: z0 }* h" Z; f/ z3 ]7 y
& @ }, L! E! t. \
CKFinder/FCKEditor DoS漏洞& ], F5 h* v, ?1 c9 B
. s/ k+ j9 L) r: X) N1 X相比上个上传bug,下面这个漏洞个人觉得更有意思
5 F! O1 S, ], ?9 R: k. t) b0 q4 v, \! t
% I2 e2 [ M7 I/ T" U! o
: C0 P7 i$ [. b3 bCKFinder是一个强大而易于使用的Web浏览器的Ajax文件管理器。 其简单的界面使得它直观,快速学习的各类用户,从高级人才到互联网初学者。 1 z2 N) b6 d- z2 B- m% S* S1 A1 }
' Y) v" u# R4 ~CKFinder ASP版本是这样处理上传文件的:2 q7 e% R* X1 I$ f( [; M1 D* L
|/ j) \- s: r3 n- m- H当上传文件名已存在时,会进行迭代重命名,比如file(1).ext存在了,会尝试重命名为file(2).ext……直到不重复为止。5 s0 ?" \* L# P3 y. z
: `) ]* f7 o3 s0 \
那么现在有趣的事情来了——windows是禁止”con”作为文件名的(关于这个问题我印象中很久以前,win也有过con文件名漏洞,有兴趣可以确认下)
0 ?5 v- C! O# S* R- a' T7 d0 N7 z& E J, z: g- ^" N# T
dos方法也应运而生!
0 x! ]7 b3 Y) V, W( Y% {6 y! ~/ _0 x* c9 v5 O' T
& w; M( q/ f, [3 @$ i! f& u: [! Q% d* W; \+ L! `. ^4 c0 F! i/ c
1.上传Con.pdf.txt
' P. E6 x7 {$ {2.CKFinder认为“Con.pdf.txt” 已被占用,于是开始尝试Con.pdf(1).txt,Con.pdf(2).txt……Con.pdf(MaxInt).txt从而对服务器形成致命dos。
3 u9 u! V, }$ C- B7 _0 X; d8 b$ K0 P/ k1 I
|