感谢生生不息在freebuf社区”分享团”里给出线索,才有了本文
& d. C5 u9 k- c+ A& z9 a
8 H6 I6 a" f' z/ ~' Y- H# Z原帖:http://club.freebuf.com/?/question/129#reply12$ T" s# e K8 r/ Q. [; N+ x0 G7 G
D v; N' Q) }
FCKEditor 2.6.8文件上传漏洞
7 N- ~4 _0 x5 ~: h# f; h
, D* D1 ?3 C5 Y, j' t3 S6 a# k6 `Exploit-db上原文如下:6 P- N R, G5 t
0 \1 B+ U$ |' |# ?& P" ^3 G1 U- Title: FCKEditor 2.6.8 ASP Version File Upload Protection bypass# m& B. s2 T, \/ k2 F: m* d3 S, B6 b
- Credit goes to: Mostafa Azizi, Soroush Dalili1 T- T2 Y- e6 J* y' v) H/ E
- Link:http://sourceforge.net/projects/fckeditor/files/FCKeditor/' E9 [. v+ J5 r9 b
- Description:& Q3 o* u/ X# m2 S7 Z% _' k b
There is no validation on the extensions when FCKEditor 2.6.8 ASP version is7 H: x# `, {7 t9 U4 l
dealing with the duplicate files. As a result, it is possible to bypass
2 u8 b5 ?' f! d Uthe protection and upload a file with any extension.
2 A) k( D( D5 A2 D- Reference: http://soroush.secproject.com/blog/2012/11/file-in-the-hole/
" N+ w3 A' J: Y. X- Solution: Please check the provided reference or the vendor website.' v" L, ^) ?" Q2 V
/ D+ [1 d# e8 W8 Z7 H# L9 {
- PoC:http://www.youtube.com/v/1VpxlJ5 ... ;rel=0&vq=hd720
2 |5 D- j! `3 M0 R$ G" E" u! }+ @, ^# v7 Z
Note: Quick patch for FCKEditor 2.6.8 File Upload Bypass:) m# w1 q3 F. g1 h4 o2 ~2 [; m
3 Y4 [( L3 J0 h, RIn “config.asp”, wherever you have:( h, p) d' J: v% f! c9 [$ l3 k- j
ConfigAllowedExtensions.Add “File”,”Extensions Here”$ A; |$ Y$ j! }, B; q
Change it to:
" ~% s/ @" y9 t7 {& }% R ConfigAllowedExtensions.Add “File”,”^(Extensions Here)$”在视频(需翻墙)里,我们可以看的很清楚:
6 A! n' |1 c4 u3 i; u f* W: V5 H4 r" _- A; o3 v; w' ]
1.首先,aspx是禁止上传的
8 {- }# h$ Z- Z) P4 j# D2.使用%00截断(url decode),第一次上传文件名会被转成_符号8 ^, y# q0 T9 z1 |
* k6 Y8 |5 q; N& G: h5 U8 }. o
% e2 y! D5 P: { d s, I
- \: s v; [/ h8 k9 L; h& W接下来,我们进行第二次上传时,奇迹就发生了4 J6 ]* M9 M. d- f3 L; S) `
) q! U3 x6 P/ e- q
* c& h( h8 q9 z+ d) ?( }6 i4 R4 a
3 W) H; G& d( G) f代码层面分析可以看下http://lanu.sinaapp.com/ASPVBvbscript/121.html" z' P( o8 q7 @# A/ B
$ m r2 F/ Y0 y; n7 k # J% B' L- |9 U) \. z
( F( N! H1 g( ~; ~
CKFinder/FCKEditor DoS漏洞7 Z ~$ R5 M$ L/ q7 O
! F$ c% X! Y5 L; `* L
相比上个上传bug,下面这个漏洞个人觉得更有意思
: F/ I! F9 I* m/ v! W3 s, h |( Z) I0 |" q/ j9 F
! [1 ^" ~8 Z% t& b0 A, S. d
7 u) i) H# H; I# K% i
CKFinder是一个强大而易于使用的Web浏览器的Ajax文件管理器。 其简单的界面使得它直观,快速学习的各类用户,从高级人才到互联网初学者。 1 |# o1 o7 o% L$ W' z g4 y
& Q. |1 Y6 w# U1 P2 mCKFinder ASP版本是这样处理上传文件的:
4 N C% m4 g2 a2 `% T; j3 b
' c" U* R7 y2 Q1 [: s当上传文件名已存在时,会进行迭代重命名,比如file(1).ext存在了,会尝试重命名为file(2).ext……直到不重复为止。% F& K0 K; j3 L
+ E' g5 {+ i6 s, ]9 X8 [那么现在有趣的事情来了——windows是禁止”con”作为文件名的(关于这个问题我印象中很久以前,win也有过con文件名漏洞,有兴趣可以确认下)
1 g) z4 n4 O) ?6 [ |6 A3 f4 k# R$ V o0 y
dos方法也应运而生!$ Q. S2 S" o' P0 d4 W4 A
: o3 u/ L& _ `9 R3 m) c
+ u' o- F* k" B1 D% C% u( W; n0 A7 H3 G* ?0 b \. G' i
1.上传Con.pdf.txt
& P, o0 F3 }# o$ Z2.CKFinder认为“Con.pdf.txt” 已被占用,于是开始尝试Con.pdf(1).txt,Con.pdf(2).txt……Con.pdf(MaxInt).txt从而对服务器形成致命dos。
! \ b9 j- R% N7 i4 [* {% p" j1 b* h5 y! u& V& I( q$ R+ @ t C
|