感谢生生不息在freebuf社区”分享团”里给出线索,才有了本文
4 E8 P0 o8 R8 O$ u2 E3 O( S5 N' c0 w2 J% s9 q5 i; X: T7 \' D
原帖:http://club.freebuf.com/?/question/129#reply12, L! r- U+ e7 Z
* g/ X; k! {, }/ \: d
FCKEditor 2.6.8文件上传漏洞% N+ ?+ i3 Z Z& j) ~+ I3 l0 D
6 L3 a. H( t, n0 {- i! X' N8 m QExploit-db上原文如下:
9 I2 {2 l2 h n* i7 R- e B) s
$ [0 P$ \) Y/ E# \% G k( Z2 H- Title: FCKEditor 2.6.8 ASP Version File Upload Protection bypass
- I+ W0 b# P6 }; g8 Z- Credit goes to: Mostafa Azizi, Soroush Dalili5 O4 [ H- U* o# a9 o
- Link:http://sourceforge.net/projects/fckeditor/files/FCKeditor/7 c: ?3 S0 T: g$ |2 z
- Description:- m5 R% L: H. ^, f1 T0 d0 C) Q
There is no validation on the extensions when FCKEditor 2.6.8 ASP version is
. i6 I& ~) @% j. M7 W$ E1 d/ M _dealing with the duplicate files. As a result, it is possible to bypass
% D1 j& J _( a4 l7 v- Y* _the protection and upload a file with any extension.
- r0 d* d, g! x( R% s% [- Reference: http://soroush.secproject.com/blog/2012/11/file-in-the-hole/& W/ ?7 O; z: \' Y& E% A9 @
- Solution: Please check the provided reference or the vendor website.4 g* j& h, ^" `! \ J7 Y
4 x5 G# K, L6 Q$ ~" p
- PoC:http://www.youtube.com/v/1VpxlJ5 ... ;rel=0&vq=hd720' g# c2 w5 E7 Z" G2 ?# s; ]% n
"
% Z. C- Z* X& w2 h7 w% {Note: Quick patch for FCKEditor 2.6.8 File Upload Bypass:
+ O5 K7 S8 D- p' Z7 L
$ f. ^. p+ \* B+ o2 MIn “config.asp”, wherever you have:
1 r5 B; K6 \1 w$ E" Y ConfigAllowedExtensions.Add “File”,”Extensions Here”
+ L3 @# h9 \/ n' B1 n' M# |% P# sChange it to:
# n* R" N: F5 s, f# Y. h ConfigAllowedExtensions.Add “File”,”^(Extensions Here)$”在视频(需翻墙)里,我们可以看的很清楚:' i- K B( D$ R6 s
* I/ [4 [) q. R- {1.首先,aspx是禁止上传的$ v- k9 F+ ^+ D' ?3 y
2.使用%00截断(url decode),第一次上传文件名会被转成_符号7 m: c$ U( t7 ^ T+ r* y( p+ N' u
/ r+ F0 ]5 B- G
6 T: z3 S5 k7 P" o* A# c- R* s
! R0 P$ `# O9 n D4 F接下来,我们进行第二次上传时,奇迹就发生了 u7 K! X% z: T
0 z" ]0 u8 D a4 F ]2 W4 ~6 j% l7 j ~+ z7 C& t2 ~
! _" j3 m6 T& b, a! k7 M代码层面分析可以看下http://lanu.sinaapp.com/ASPVBvbscript/121.html' y; `: M; t/ y* H
2 f3 i6 |' u9 p5 J/ K/ N
$ U7 h) |( n) @7 w4 m
3 C2 n1 H" e9 W7 t' f+ r* `/ FCKFinder/FCKEditor DoS漏洞$ v2 q( h) ] a
' q5 g" x+ X* m; C0 B8 f1 u: G
相比上个上传bug,下面这个漏洞个人觉得更有意思
1 m; L9 X2 M0 M0 v
/ K) {1 \/ O0 |1 Q
; `+ v' T: W2 b* E! o- W% P6 X5 X4 m! a9 K$ d" k- K$ [! w+ \% j; u
CKFinder是一个强大而易于使用的Web浏览器的Ajax文件管理器。 其简单的界面使得它直观,快速学习的各类用户,从高级人才到互联网初学者。
% d$ w* D8 t! G# _. O
# R& Y2 s/ G/ b9 c, s' ]CKFinder ASP版本是这样处理上传文件的:) {: W# Z. Q; \ U7 R; D+ A
3 E" a7 f+ _, \3 D当上传文件名已存在时,会进行迭代重命名,比如file(1).ext存在了,会尝试重命名为file(2).ext……直到不重复为止。, e' O" S$ I0 [: U B7 X
( n7 B6 k0 I/ x: P" b% h- f那么现在有趣的事情来了——windows是禁止”con”作为文件名的(关于这个问题我印象中很久以前,win也有过con文件名漏洞,有兴趣可以确认下)
e: _) _1 f; X8 {- y' b
7 h+ g! F1 \+ Fdos方法也应运而生!
7 C3 A2 W( o) q/ K3 Y) Y9 [, ~" ?8 x1 R1 l, u* R
& A n7 ]+ e: l
* z h. \9 b5 F. K1.上传Con.pdf.txt- J: k( {2 Z/ Y2 g6 n
2.CKFinder认为“Con.pdf.txt” 已被占用,于是开始尝试Con.pdf(1).txt,Con.pdf(2).txt……Con.pdf(MaxInt).txt从而对服务器形成致命dos。- w) d! ?# k! I1 V0 z
( T3 J) d- S; {. i
|