感谢生生不息在freebuf社区”分享团”里给出线索,才有了本文
" z$ K, C G' s) b/ r' y
9 @: E( b# R/ h' [- g+ {/ X! `原帖:http://club.freebuf.com/?/question/129#reply12! a; V$ @. g% ?' E$ q( O) Z( Z
, u) w2 @: i; o7 }4 g
FCKEditor 2.6.8文件上传漏洞
. } \$ h& d+ i* o$ K9 r
: s! }: W& O% i! I/ S4 U! f/ NExploit-db上原文如下:
7 y) e8 R5 n* ^# [; U% N+ j) P9 e& ]! Q
- Title: FCKEditor 2.6.8 ASP Version File Upload Protection bypass* ~7 w& [+ u( c
- Credit goes to: Mostafa Azizi, Soroush Dalili
; e; C: W- K! a! V- Link:http://sourceforge.net/projects/fckeditor/files/FCKeditor/+ _' C7 h+ t- ]9 D$ P; m" X
- Description:
7 p8 }* R+ Y# u4 z5 U( WThere is no validation on the extensions when FCKEditor 2.6.8 ASP version is
7 n3 F, J% d& I5 O7 x5 {dealing with the duplicate files. As a result, it is possible to bypass
# A6 [- U6 Y& C9 F/ _3 athe protection and upload a file with any extension./ X( B9 T/ x' p
- Reference: http://soroush.secproject.com/blog/2012/11/file-in-the-hole/
& V$ |1 n! q* S' h- Solution: Please check the provided reference or the vendor website.
- L, i9 B( Z* n5 f* r( x4 G4 k8 p7 f' g) l& `& @1 v
- PoC:http://www.youtube.com/v/1VpxlJ5 ... ;rel=0&vq=hd720$ P+ r1 t( F# y S6 }
"
0 E( s% x @) s$ j; w4 pNote: Quick patch for FCKEditor 2.6.8 File Upload Bypass:
' Z( b6 G: P, J# C P+ I" v+ x+ L, k% B9 x: \
In “config.asp”, wherever you have:, Q9 ]: Y& X6 p- j( V4 Z7 ?8 n
ConfigAllowedExtensions.Add “File”,”Extensions Here”
. K+ X3 N2 v6 o4 i1 AChange it to:
% D( O4 ?# E0 X3 Q0 x8 ?' F ConfigAllowedExtensions.Add “File”,”^(Extensions Here)$”在视频(需翻墙)里,我们可以看的很清楚:
; D5 `9 |3 ~8 L! c; f/ j0 D4 k" N* H7 z' x0 G# N5 K4 m
1.首先,aspx是禁止上传的0 Z- N- M0 E, C/ T5 ] B
2.使用%00截断(url decode),第一次上传文件名会被转成_符号
" f7 x1 _) v5 k% _0 `8 J" O2 R( q* W/ k7 k" y5 q" w* ?
3 G9 e# N7 ~. n- n5 e& s
" N& X( H1 ^0 K# ^接下来,我们进行第二次上传时,奇迹就发生了
5 o! X- P, |- _5 ?+ Y# D1 F1 n3 b8 Z5 o/ r1 }
8 Z: G/ _# l0 J) h' `7 j+ G% N' a2 b6 M/ U4 a5 N8 ~" n/ C3 h
代码层面分析可以看下http://lanu.sinaapp.com/ASPVBvbscript/121.html
6 G; v* u6 h ~
0 q, P8 u, y& W( C/ s
% D; h! B- e v( _" E5 R d8 y9 s! }: l7 o) V0 z; k3 A a
CKFinder/FCKEditor DoS漏洞: p* M/ V5 n3 g) q e& Y2 ]' t
% `- r4 H5 {. i9 T. A7 e
相比上个上传bug,下面这个漏洞个人觉得更有意思" `/ l1 u2 W J; m$ o
3 Q4 g2 z6 ^: t+ ~1 i0 e
) [ ]1 V# g/ T: a9 i1 g& b9 }& o7 B' F
CKFinder是一个强大而易于使用的Web浏览器的Ajax文件管理器。 其简单的界面使得它直观,快速学习的各类用户,从高级人才到互联网初学者。 * A- k0 L; X" X; W j
: O. Z: A& `0 E, c' K2 w, @8 KCKFinder ASP版本是这样处理上传文件的:
# N: ~6 T- a- @; l
- v2 h. Y$ ?9 k5 W3 F; K; y当上传文件名已存在时,会进行迭代重命名,比如file(1).ext存在了,会尝试重命名为file(2).ext……直到不重复为止。9 |4 {" Y& U$ ~" q6 s
$ E( L9 r9 I: R, I3 w7 P" h8 j那么现在有趣的事情来了——windows是禁止”con”作为文件名的(关于这个问题我印象中很久以前,win也有过con文件名漏洞,有兴趣可以确认下), R i' _3 z1 d7 h6 n# {# J
# F4 s2 b+ D- y; Q
dos方法也应运而生!
, f6 x4 X+ d# `. u6 ~4 ]) k: m) e! a7 q% ~7 \% S
b, M# q- z/ F
# i3 B# I% _( d% v" }1.上传Con.pdf.txt
t6 F+ ?* _9 C, K2.CKFinder认为“Con.pdf.txt” 已被占用,于是开始尝试Con.pdf(1).txt,Con.pdf(2).txt……Con.pdf(MaxInt).txt从而对服务器形成致命dos。
/ w/ v8 R6 R! x6 o) E
h9 h+ P* h; h* n |