感谢生生不息在freebuf社区”分享团”里给出线索,才有了本文
! ~1 a2 [8 D9 t5 |* w! g3 }, D K# y
原帖:http://club.freebuf.com/?/question/129#reply128 e8 o. a! e9 w
# j/ t0 P T1 ~- X! X- [ bFCKEditor 2.6.8文件上传漏洞
9 m1 N# m- w) F! v) ?7 R2 e' r
! B! _9 B& |2 U$ Q# s0 vExploit-db上原文如下:
% C4 a) C: q5 h# n8 k
# E' }0 u( B1 x$ q% C8 ?- Title: FCKEditor 2.6.8 ASP Version File Upload Protection bypass: u, Z0 Z1 y9 }7 k! r
- Credit goes to: Mostafa Azizi, Soroush Dalili4 l; P3 u0 t) o" n4 }5 ~9 F& Z
- Link:http://sourceforge.net/projects/fckeditor/files/FCKeditor/
$ Q, G n7 K' f* j v# S- Description:9 k& u( Y( a" z1 L. i. k
There is no validation on the extensions when FCKEditor 2.6.8 ASP version is
0 F# A3 n( ]8 }# ]- d- Odealing with the duplicate files. As a result, it is possible to bypass+ W, A" A$ O6 H) L& ?
the protection and upload a file with any extension.# G9 R( s+ Q, C/ d' j
- Reference: http://soroush.secproject.com/blog/2012/11/file-in-the-hole/ Y! j/ D( W9 T/ A
- Solution: Please check the provided reference or the vendor website.- t( X" F, x; ^# s; S& X
7 b- u5 c" X8 W& T0 X/ x7 B2 t4 K
- PoC:http://www.youtube.com/v/1VpxlJ5 ... ;rel=0&vq=hd720
+ A: H9 |& x7 u% M+ ~% ^4 \"8 ]( r! B. W* Y3 {8 I5 B$ A' X, Y
Note: Quick patch for FCKEditor 2.6.8 File Upload Bypass:
! `- {+ ~1 ^( _# g3 O$ @8 G2 W! C z7 _3 ~, B: d5 y
In “config.asp”, wherever you have:/ z8 l1 @' f# l X4 y! N# F; m9 [4 Z
ConfigAllowedExtensions.Add “File”,”Extensions Here”
+ j$ {0 l2 t: pChange it to:% l) D1 L2 |# M
ConfigAllowedExtensions.Add “File”,”^(Extensions Here)$”在视频(需翻墙)里,我们可以看的很清楚:1 e# P% q% {6 x: ]" d% w ?) N5 f
2 {8 O$ k. f, i8 O* {
1.首先,aspx是禁止上传的
: m' K; A0 Z# }- k R7 P2.使用%00截断(url decode),第一次上传文件名会被转成_符号5 E6 _( \4 o9 K# |" I! h& ~+ N
4 q U& G w, ]4 Q
2 t' X, j; v7 E/ t* h+ {
/ _" J. M: p3 V接下来,我们进行第二次上传时,奇迹就发生了+ g' F& u% L% Y" U8 {( O3 B
8 G0 b; H" I9 e5 k$ J
a4 m1 \- P6 G$ J2 Y# v
! x1 c( E j% s8 S代码层面分析可以看下http://lanu.sinaapp.com/ASPVBvbscript/121.html; L; K9 X8 o; R0 s: n* `
' l5 M" E+ T' J0 F' _
6 L5 n% H4 Z! F! [8 n, }$ X r* T- I- ]. _
CKFinder/FCKEditor DoS漏洞
: S% D- F2 w$ K" o7 p5 I. G7 m6 q$ m0 E
相比上个上传bug,下面这个漏洞个人觉得更有意思
3 ]" i! H# [( z. }
$ j- K' A6 l' l$ d) o & q; X) L2 I% C+ @& L, S
2 l6 a9 b$ z6 `' n- q' i- zCKFinder是一个强大而易于使用的Web浏览器的Ajax文件管理器。 其简单的界面使得它直观,快速学习的各类用户,从高级人才到互联网初学者。
# I' `& B; Q# W' Q! d% J, ?( I3 T
CKFinder ASP版本是这样处理上传文件的:) T: U3 \9 w' L. }
( g) e' G$ P6 Y& t7 z: H4 D( u2 t
当上传文件名已存在时,会进行迭代重命名,比如file(1).ext存在了,会尝试重命名为file(2).ext……直到不重复为止。$ M! C; U# Z" Y- @; _# ?5 d; w
7 B% N7 v i: K* }那么现在有趣的事情来了——windows是禁止”con”作为文件名的(关于这个问题我印象中很久以前,win也有过con文件名漏洞,有兴趣可以确认下)3 ]/ [4 B- _$ m' }1 P; I0 Y, C
4 K. ^# j6 B- o
dos方法也应运而生!
y5 J( G+ i) n! E$ M% X4 j3 [* Z5 I! {& n* Q4 X& S0 `( I/ V
9 m1 o5 i; t7 G
" e5 Y, F/ d" U' \* V, l1.上传Con.pdf.txt& ^& T/ C# p, ~% N+ g9 E2 V9 c6 Y
2.CKFinder认为“Con.pdf.txt” 已被占用,于是开始尝试Con.pdf(1).txt,Con.pdf(2).txt……Con.pdf(MaxInt).txt从而对服务器形成致命dos。; @, s9 X4 I2 ^/ Z8 E+ s: v
* B4 N# Y; i% y
|