感谢生生不息在freebuf社区”分享团”里给出线索,才有了本文. R1 t! v2 y" i, @" p# f" p
+ K! z0 v1 t- U% r) T# ^
原帖:http://club.freebuf.com/?/question/129#reply12
% e8 V: R% z( M# j8 @' j0 v4 h0 i! V8 H9 p h
FCKEditor 2.6.8文件上传漏洞) ~$ e5 _0 z- W: t& [ P. L
; h0 @# Z0 |4 J- a, |) s/ A
Exploit-db上原文如下:
# N1 ~/ p6 z9 j9 B, ^! `$ j, I# c& h, S, ?
- Title: FCKEditor 2.6.8 ASP Version File Upload Protection bypass$ c+ c; |5 P5 ]8 I6 ^# z
- Credit goes to: Mostafa Azizi, Soroush Dalili
9 O. Z; D2 l+ n; l' _- Link:http://sourceforge.net/projects/fckeditor/files/FCKeditor/" v- J; T5 c- t5 ^8 }6 H
- Description:9 ?. y1 o S, n" m
There is no validation on the extensions when FCKEditor 2.6.8 ASP version is, b7 l- I9 l8 O: n) \. Q1 J- a
dealing with the duplicate files. As a result, it is possible to bypass
( K. v7 l/ O# b; mthe protection and upload a file with any extension.
5 }& U0 [7 ]; }$ ]0 R# m- Reference: http://soroush.secproject.com/blog/2012/11/file-in-the-hole/) O4 K3 O c$ \, h0 O; D
- Solution: Please check the provided reference or the vendor website.1 q& U$ K% _# w5 d, d" P
0 I; h( }$ v& t4 _* Y/ r
- PoC:http://www.youtube.com/v/1VpxlJ5 ... ;rel=0&vq=hd720; k3 O+ o$ |( i5 g
"
5 [1 ?/ T6 r3 ]7 DNote: Quick patch for FCKEditor 2.6.8 File Upload Bypass:
2 w+ E' S8 i9 A% l" e! E5 x0 u1 m- |/ }2 d2 A2 I3 B6 R* w3 l
In “config.asp”, wherever you have:8 g; ~ n' `+ o1 _( \
ConfigAllowedExtensions.Add “File”,”Extensions Here”0 a3 S" C% O. @$ G
Change it to:
' @ c* C0 s* r$ j% P ConfigAllowedExtensions.Add “File”,”^(Extensions Here)$”在视频(需翻墙)里,我们可以看的很清楚:
2 n8 l: T1 E8 {) A/ h2 F& z8 L: d: m6 ?: Q# _( h4 z* Q
1.首先,aspx是禁止上传的# ]- Z& K+ q8 o7 r
2.使用%00截断(url decode),第一次上传文件名会被转成_符号/ T) u& C$ h( ?5 o
0 `9 D: ]4 H9 A5 W. y: e; v, |7 Q; F5 V$ \7 J0 \( L5 K# X
, x0 `# u( O! D i" H接下来,我们进行第二次上传时,奇迹就发生了
1 D! s/ @, [$ p- _3 n" Z8 H7 B+ V j+ W8 r
6 n$ a2 p; x: w, V8 f* H/ J% ]' l* l% N* H/ Y
代码层面分析可以看下http://lanu.sinaapp.com/ASPVBvbscript/121.html
, }# d/ m+ e3 _, i8 ^9 S3 Z, N4 W( W$ v9 o/ Y9 \# T
/ q9 a* C; x& f2 ^0 \1 e, C% j
) w+ s" N0 _; G# [5 ^- W- M) s1 h! ^
CKFinder/FCKEditor DoS漏洞5 C* m; K, r4 B
3 e1 f [! C/ [相比上个上传bug,下面这个漏洞个人觉得更有意思
" e% K" H+ E! S p6 O
- F. y7 b! E0 w% r- V; O
6 L% E+ \4 d4 E1 j R5 x* H% a3 a' ]3 T/ s( G
CKFinder是一个强大而易于使用的Web浏览器的Ajax文件管理器。 其简单的界面使得它直观,快速学习的各类用户,从高级人才到互联网初学者。
2 }' K- r% Y Z& W9 u' o, e2 p! V7 m) k* h+ D( P* K; T# g+ i: \
CKFinder ASP版本是这样处理上传文件的:
% \" ?$ x6 d, K- c ]$ `: S9 P) I% Y; |/ l3 P1 c
当上传文件名已存在时,会进行迭代重命名,比如file(1).ext存在了,会尝试重命名为file(2).ext……直到不重复为止。
- c5 E/ s4 F$ f/ A# f# h' B
" X7 t: Q' r& f$ T$ b0 ?那么现在有趣的事情来了——windows是禁止”con”作为文件名的(关于这个问题我印象中很久以前,win也有过con文件名漏洞,有兴趣可以确认下)& c h1 L. V4 ]2 [8 X) L# N
* l9 A `. B% g2 edos方法也应运而生!# c7 h* ^% Z7 p7 M g* r: R7 @
3 q: U9 ]# p! D/ A' Q" `
: o7 ^* u1 w1 m5 i9 {" c
) W% Z% V* h8 t# k; H! ]8 c" }1.上传Con.pdf.txt
, w" g, ~7 f7 {6 f. L( D1 j2.CKFinder认为“Con.pdf.txt” 已被占用,于是开始尝试Con.pdf(1).txt,Con.pdf(2).txt……Con.pdf(MaxInt).txt从而对服务器形成致命dos。+ d, W' Q+ x" R( A3 _
) v" m& @! k( D
|