感谢生生不息在freebuf社区”分享团”里给出线索,才有了本文
5 C* B2 B5 W X
) ?1 d: \1 Z6 g9 W! X0 Y+ T V原帖:http://club.freebuf.com/?/question/129#reply12 }$ |; I7 i5 i8 e- S% B
% S5 N1 u% t2 z+ c) ~6 A) K
FCKEditor 2.6.8文件上传漏洞' x0 j4 P8 k; J) F; F7 r t; @
" k, o5 Y1 O8 D! l3 I) L
Exploit-db上原文如下:2 Y* a- p3 y" _% w
2 C& O( _. |2 x# D& n3 G% T6 D- Title: FCKEditor 2.6.8 ASP Version File Upload Protection bypass- l4 ~. t! c0 i) C- E3 u
- Credit goes to: Mostafa Azizi, Soroush Dalili6 Y/ Q/ |# `7 f9 H" U0 Q
- Link:http://sourceforge.net/projects/fckeditor/files/FCKeditor/) i9 _' K7 o( ^! _
- Description:
/ B. K, W. e b+ {% F3 S; EThere is no validation on the extensions when FCKEditor 2.6.8 ASP version is
! A7 @3 ]7 C2 \5 Pdealing with the duplicate files. As a result, it is possible to bypass
) ~. x: _- Q, j; b$ `, M* b) r4 G6 Othe protection and upload a file with any extension.
: `* h/ q# Z" k' c; ~- Reference: http://soroush.secproject.com/blog/2012/11/file-in-the-hole/
8 K2 v* K. `! l" }- Solution: Please check the provided reference or the vendor website.
+ ]5 _9 T" i3 y8 n8 }' x8 m
( v# A, _# ]7 }" J/ ]- PoC:http://www.youtube.com/v/1VpxlJ5 ... ;rel=0&vq=hd720+ ]5 R; G9 R3 o% {
"6 H$ w; a& Q) B* `$ {! l& r6 r
Note: Quick patch for FCKEditor 2.6.8 File Upload Bypass:
% l* @ D) `7 K8 Y3 ~6 E* g1 i8 \) n
In “config.asp”, wherever you have:
f8 M; N6 ` t% j: U ConfigAllowedExtensions.Add “File”,”Extensions Here”
7 O4 m. S8 u* W5 K7 w2 ?' U' iChange it to:
( b! i$ K' l: S% A* S7 E+ g( x# ^, s+ Q' z ConfigAllowedExtensions.Add “File”,”^(Extensions Here)$”在视频(需翻墙)里,我们可以看的很清楚:6 V4 s3 G7 ~/ B. n! d
2 C# j0 j/ `. X% z- Y2 ?# n1.首先,aspx是禁止上传的. {( B2 V6 N" |$ z! X% \
2.使用%00截断(url decode),第一次上传文件名会被转成_符号
- Q) O, A a. u& Z* R9 u
5 t1 I' \4 T) v; S( C
- w$ u3 C$ D7 _. r/ w
# `. l1 P' H5 X5 J0 @接下来,我们进行第二次上传时,奇迹就发生了
: ~: w1 D m! \; \; R( w
# n& j! C# v" C0 Y. S# X8 F
0 F$ u. m; l5 l4 G, p4 M& e
6 o! f) G* k5 D& @5 @代码层面分析可以看下http://lanu.sinaapp.com/ASPVBvbscript/121.html
) k% f) f& H) v% T F4 n/ p
) [4 U' J2 Q* g H! Z$ o ; P3 k# m' _3 Z! v# o1 T
/ D* h1 _* C' t f/ jCKFinder/FCKEditor DoS漏洞% }% H. v" U& s( y/ L0 z* _7 Q( ^, w
' W& g; ^5 v/ m, D
相比上个上传bug,下面这个漏洞个人觉得更有意思' `- X8 I5 I/ x4 X9 a! _& m
9 G: ?9 w% z: Z! Q0 P
" `3 c" y x& B. S+ R/ u5 v" `7 y4 N
CKFinder是一个强大而易于使用的Web浏览器的Ajax文件管理器。 其简单的界面使得它直观,快速学习的各类用户,从高级人才到互联网初学者。
, P1 c, S6 y5 Q4 J4 t; n1 x+ J0 Q$ S' ~2 k
CKFinder ASP版本是这样处理上传文件的:
: N9 h8 R1 }0 z. {8 h% F1 z$ h" Q- [( F Y
当上传文件名已存在时,会进行迭代重命名,比如file(1).ext存在了,会尝试重命名为file(2).ext……直到不重复为止。 m, B0 W5 j2 c4 ~1 Z4 d& v- i/ Q! R
( }3 W8 B. c3 c1 k" M7 i' X! e* S那么现在有趣的事情来了——windows是禁止”con”作为文件名的(关于这个问题我印象中很久以前,win也有过con文件名漏洞,有兴趣可以确认下)* e) k; X- m& t" q3 L
0 Q( J% v V% K3 I: A jdos方法也应运而生!5 s) q$ o, E. O/ z7 S7 J( {
) ^% c7 l% h9 o' A5 h" Q7 S
* R. ?2 i9 i8 m+ R# U/ k7 h2 M! M0 P" `% O. ^. K
1.上传Con.pdf.txt2 l- r) h, ^* o2 d) f
2.CKFinder认为“Con.pdf.txt” 已被占用,于是开始尝试Con.pdf(1).txt,Con.pdf(2).txt……Con.pdf(MaxInt).txt从而对服务器形成致命dos。: W5 z" u$ C, a4 H. F5 f$ H
1 s! `8 h! q- w9 ~$ v3 M+ I
|