感谢生生不息在freebuf社区”分享团”里给出线索,才有了本文
D& W/ m6 o5 F: T+ t
4 D- E0 }6 w4 m& C原帖:http://club.freebuf.com/?/question/129#reply12
4 }/ i6 @ k L/ C5 g' U
% l1 W' f( K/ L, P: W2 sFCKEditor 2.6.8文件上传漏洞
- w* I, W4 q2 E3 y: f4 T; A0 l4 L" }7 V) k3 c" [. h
Exploit-db上原文如下:
3 b2 V9 K- M1 @1 e/ L l- F' k X. t
- Title: FCKEditor 2.6.8 ASP Version File Upload Protection bypass
2 e3 j) j2 @ B1 |, Z4 p" D- Credit goes to: Mostafa Azizi, Soroush Dalili: u1 M% V8 E$ N; @- U$ i
- Link:http://sourceforge.net/projects/fckeditor/files/FCKeditor/
9 \) O, I# d7 W& u2 v- Description:* A9 R" Z6 W" ^$ V% {
There is no validation on the extensions when FCKEditor 2.6.8 ASP version is* m; A6 G, Y" L9 h) F# P
dealing with the duplicate files. As a result, it is possible to bypass9 L9 e0 \ u# k/ q0 Y
the protection and upload a file with any extension.! R1 K) H: [+ v7 T
- Reference: http://soroush.secproject.com/blog/2012/11/file-in-the-hole/
- ~+ B' c) K- u# d( w# N- Solution: Please check the provided reference or the vendor website." G% Q* w& d; d
' |5 \4 c! p& w) x) M- PoC:http://www.youtube.com/v/1VpxlJ5 ... ;rel=0&vq=hd720: x! l8 ]( e7 @' M; w
"
1 j A; E+ t: ^" NNote: Quick patch for FCKEditor 2.6.8 File Upload Bypass:
5 x) f: _) G! r# g1 B3 M# V4 j1 d/ [. t
In “config.asp”, wherever you have: l+ N' K1 i: m5 @: {" e
ConfigAllowedExtensions.Add “File”,”Extensions Here”/ A% ]# x8 D* {' k- T, a
Change it to:
/ H6 j8 r3 g$ s4 s {: W( n ConfigAllowedExtensions.Add “File”,”^(Extensions Here)$”在视频(需翻墙)里,我们可以看的很清楚:
7 o! d; W3 }' i8 K L$ V: L
6 L/ R, L# d! T- X) ?1.首先,aspx是禁止上传的
+ i, n) ~; P; ]9 g3 J: J r9 z1 A2.使用%00截断(url decode),第一次上传文件名会被转成_符号9 z& r* G/ a$ W" y7 ]3 C
/ P/ l% p9 P8 C' d! n
m' o# o: I! v. U5 N/ M
# N! v# d+ p2 q5 j9 p! I) s. W! i接下来,我们进行第二次上传时,奇迹就发生了% c9 f5 E5 {9 Y2 V9 w p: a
0 q) P( U2 B- y2 l; I" U: b Q6 U
) \$ q* H' A$ x- P2 l+ W- R6 P
( o3 R u' F- D3 ^: P, U6 ]9 i* ]% F代码层面分析可以看下http://lanu.sinaapp.com/ASPVBvbscript/121.html
) A* f( C5 W4 K/ h- w6 ^ Y5 R- }% D* S$ J
2 X, A( E" @3 z$ q" v/ r3 Z: q' {
. @# G$ l# _7 H. g; `6 r# c
. z! F- G1 ^ u* y9 KCKFinder/FCKEditor DoS漏洞9 n' z" o) D; p# ~9 D: ^- g
6 l3 V' n' S- o5 k* v* q0 }相比上个上传bug,下面这个漏洞个人觉得更有意思
7 J9 R/ C5 j% w) v p0 W! [! r5 Y" b$ i5 Y2 p& \
q: n" v2 V/ i, t
2 G' }+ F U8 \6 Z; h, tCKFinder是一个强大而易于使用的Web浏览器的Ajax文件管理器。 其简单的界面使得它直观,快速学习的各类用户,从高级人才到互联网初学者。 $ t* ?; s- ?6 l/ N6 l8 q4 ]8 ^3 \
/ W' J4 L& _& N( O( s
CKFinder ASP版本是这样处理上传文件的:4 \6 t0 Y* X3 [: |* }/ O
# o3 ? u, E; g$ Q( i/ ~" N+ U9 d
当上传文件名已存在时,会进行迭代重命名,比如file(1).ext存在了,会尝试重命名为file(2).ext……直到不重复为止。: q3 \) L: }, P( j
0 H% C+ t- n# R& a3 K那么现在有趣的事情来了——windows是禁止”con”作为文件名的(关于这个问题我印象中很久以前,win也有过con文件名漏洞,有兴趣可以确认下)
2 p" @4 k! _+ R& J z! C* E$ Z! J1 g0 G8 C
dos方法也应运而生!( d- _" B: l' k4 e
' u8 y& S- N7 E# d
/ T% W* S1 J+ ~1 H, Q+ n7 N. i# S. n% K; U
1.上传Con.pdf.txt* D, ^% a8 `1 {* G3 n$ n6 [0 d- M" t
2.CKFinder认为“Con.pdf.txt” 已被占用,于是开始尝试Con.pdf(1).txt,Con.pdf(2).txt……Con.pdf(MaxInt).txt从而对服务器形成致命dos。
" @9 T; h) q# G5 i+ ], u' C& h0 M& Q0 l3 o2 [( }0 m, P
|