感谢生生不息在freebuf社区”分享团”里给出线索,才有了本文
) p0 Y3 H$ W% e3 F7 I
9 j+ C6 D' P& L9 R原帖:http://club.freebuf.com/?/question/129#reply12
6 J: T; a/ b5 }# ]2 O" \; x# Y5 T3 i& ]/ e. {+ Q0 S
FCKEditor 2.6.8文件上传漏洞
4 M5 x( ~, O C: W1 y% h& i: W
1 H/ a5 o9 F6 m8 L0 RExploit-db上原文如下:
5 ]) o+ {$ m1 w2 B! l3 g# O
+ ]& ]8 n3 F8 b* G- }9 T+ ^- Title: FCKEditor 2.6.8 ASP Version File Upload Protection bypass
6 E6 {3 j9 x5 ?+ R8 m& [ a, ]4 d/ h: A- Credit goes to: Mostafa Azizi, Soroush Dalili
+ I Q1 O! v6 Q. U4 b1 f& J- Link:http://sourceforge.net/projects/fckeditor/files/FCKeditor/4 R$ E1 I2 B, d: d( n
- Description:/ p7 \" r0 v2 V' k* s- c+ _$ n, S
There is no validation on the extensions when FCKEditor 2.6.8 ASP version is h+ K. R6 t1 h ?0 M& ?2 W. {
dealing with the duplicate files. As a result, it is possible to bypass; d" l7 m. e+ p! Q; D* P
the protection and upload a file with any extension.; m; w( v- ?! F* L
- Reference: http://soroush.secproject.com/blog/2012/11/file-in-the-hole/1 [: G2 ~; |9 U0 r
- Solution: Please check the provided reference or the vendor website.
1 b$ o# i* h j( x' J7 \
, H+ M' s2 g0 Y- PoC:http://www.youtube.com/v/1VpxlJ5 ... ;rel=0&vq=hd720( i( d& [7 b. Z: u$ d6 D3 ~
"
6 c2 O: l; Z) n+ ~9 ?Note: Quick patch for FCKEditor 2.6.8 File Upload Bypass:0 t0 s, ^( s0 L* ]8 p' L
6 Q6 m- H# C0 a- r! u% _( l, r
In “config.asp”, wherever you have:
& v% k2 e5 W" D1 e, G ConfigAllowedExtensions.Add “File”,”Extensions Here”8 t- C/ {+ V' Q# M
Change it to:. P$ Q, b" }9 V+ Q: n! k
ConfigAllowedExtensions.Add “File”,”^(Extensions Here)$”在视频(需翻墙)里,我们可以看的很清楚:
% a0 |( V$ `$ w8 C2 h6 \6 F7 @8 @: `
1.首先,aspx是禁止上传的1 s: C9 w. x# c% a0 t) V, n
2.使用%00截断(url decode),第一次上传文件名会被转成_符号6 E$ `2 i8 Z+ F7 T
[7 T8 n6 j; w1 H: ]9 D
2 q d7 H& s( i) Z$ D( Z8 U
! }2 Y/ V% D+ U" g! X接下来,我们进行第二次上传时,奇迹就发生了. ]& e- h. E* k0 k& U# W
8 D& y; S/ i; `5 _) ~ Q
7 ^7 P% A/ m E9 g |
0 z; H7 t* m! ~% e+ p/ H1 d代码层面分析可以看下http://lanu.sinaapp.com/ASPVBvbscript/121.html4 ~- V' j6 Z% B0 v0 @- B9 |
/ k" m# x( o3 U. e
, a" h F- f! Y0 @/ ]" S
( ?7 P; Q2 V, t. B8 W1 r' j7 F3 kCKFinder/FCKEditor DoS漏洞) x. W8 }/ d3 F
' t3 S5 u8 g& @6 i3 c相比上个上传bug,下面这个漏洞个人觉得更有意思
" D$ a6 }1 }9 z( n# F" i* R& Y1 z: k4 l; A x" u+ [
/ x; f/ A/ B6 v+ H; @+ J4 A1 { Z6 b
/ w3 r. P5 j2 R$ SCKFinder是一个强大而易于使用的Web浏览器的Ajax文件管理器。 其简单的界面使得它直观,快速学习的各类用户,从高级人才到互联网初学者。
: A' I. N I6 Y. Q! u$ I Z
4 |2 N% J2 _! K# RCKFinder ASP版本是这样处理上传文件的:( u6 @& G. N" J; S
! d( s1 T) S0 [5 F当上传文件名已存在时,会进行迭代重命名,比如file(1).ext存在了,会尝试重命名为file(2).ext……直到不重复为止。
9 }+ k5 k+ Y2 e4 i+ i+ l' h, q! Y2 s# n9 r8 y
那么现在有趣的事情来了——windows是禁止”con”作为文件名的(关于这个问题我印象中很久以前,win也有过con文件名漏洞,有兴趣可以确认下)
1 h8 y& |# p. [# ]7 R( Y9 ^! q6 E! V v8 L6 a# d
dos方法也应运而生!
! i0 m" j9 P) j% q0 L3 g, p) N/ @6 f) @* V+ \/ W5 N$ l
2 d$ x5 [$ f) a+ l
9 D# \' i( \1 N- K7 \ |, g% |1.上传Con.pdf.txt
) g2 V4 ^+ E) w5 V: A' j+ f2.CKFinder认为“Con.pdf.txt” 已被占用,于是开始尝试Con.pdf(1).txt,Con.pdf(2).txt……Con.pdf(MaxInt).txt从而对服务器形成致命dos。$ F; e, F1 a5 h8 w' I
. g g% q9 @! _1 ~5 H
|