感谢生生不息在freebuf社区”分享团”里给出线索,才有了本文3 D& Z* e9 }# j7 Q! g+ {
1 J' V5 t+ ~) W0 k1 _, _
原帖:http://club.freebuf.com/?/question/129#reply12/ o8 \1 p) X7 \3 F$ T3 a
7 i1 |1 b2 R8 X6 K$ g% H5 \FCKEditor 2.6.8文件上传漏洞' O' L% j# W1 B3 ^9 V
. M" T7 c1 p, p! b0 d5 J
Exploit-db上原文如下:5 t A& r: r) ~. |8 [
5 g( R- V& [! a/ @' Y
- Title: FCKEditor 2.6.8 ASP Version File Upload Protection bypass+ q* @4 @2 @1 q% M; x+ b
- Credit goes to: Mostafa Azizi, Soroush Dalili' K6 r5 c% |) Z: ?; \
- Link:http://sourceforge.net/projects/fckeditor/files/FCKeditor/0 l3 \, n* P8 i5 m; w7 B2 @
- Description:
% J1 z; ^0 ?, j3 j5 r/ Y4 S, rThere is no validation on the extensions when FCKEditor 2.6.8 ASP version is. X+ G2 W$ \2 u% h( v; X& q3 U
dealing with the duplicate files. As a result, it is possible to bypass( ?: Q: e2 x8 K/ _8 R
the protection and upload a file with any extension.! z" K. \" u8 G* N2 L& F G0 b
- Reference: http://soroush.secproject.com/blog/2012/11/file-in-the-hole/
& j7 w: y! U8 x' @- Solution: Please check the provided reference or the vendor website.
* l' r9 I$ _2 R# M. @7 h1 p
8 u; r. [- c9 Y2 q; x1 ]2 D8 |8 r- PoC:http://www.youtube.com/v/1VpxlJ5 ... ;rel=0&vq=hd720* e% K# ~7 C- \
"
?' E4 W6 E! X0 t# |# c$ H" `& SNote: Quick patch for FCKEditor 2.6.8 File Upload Bypass:8 ?4 Z9 t* c* A" s/ T. `
3 U3 i6 Q7 z7 A& l- C9 l" N G6 [In “config.asp”, wherever you have:
\, a0 }) v9 J$ c E9 q) A ConfigAllowedExtensions.Add “File”,”Extensions Here”
$ K3 m8 E, R0 `0 U& {) xChange it to:
8 Z& ?% W+ F) k, r. ^ ConfigAllowedExtensions.Add “File”,”^(Extensions Here)$”在视频(需翻墙)里,我们可以看的很清楚:
% D4 m! {5 ]1 i
& h+ j9 w. F9 S) Q0 `8 y4 x1.首先,aspx是禁止上传的% y9 N/ t8 ]. S6 O3 S i
2.使用%00截断(url decode),第一次上传文件名会被转成_符号
& ?: X' z" T2 h0 l
" M. [/ P _ ?) z+ r, F" a/ a# P% y+ Q& j0 \- u
, o# L7 O! F0 L- K/ @$ ~' _% i接下来,我们进行第二次上传时,奇迹就发生了0 p1 \. X( r0 f6 U
0 v6 f- F, o* r
2 B0 \, b+ V2 p, o+ q! x; y! j; R$ m4 s
* n$ N* l: i# p0 n
代码层面分析可以看下http://lanu.sinaapp.com/ASPVBvbscript/121.html
3 Q1 h8 [4 ]! J/ x- _( J0 `5 I- T' M, w/ N. h
^$ ]; S4 l) W8 y$ U
. q: ?# I$ n4 m1 H. K4 KCKFinder/FCKEditor DoS漏洞: r& ~+ ~) g4 P
( m% g' S8 r7 N3 w9 X
相比上个上传bug,下面这个漏洞个人觉得更有意思/ ^" I$ K" T$ e, v+ q& J
& R" C ]( l8 [, I
7 E8 f+ l4 E" X- _# |. h0 g3 `+ N4 k/ w5 m1 |0 K A
CKFinder是一个强大而易于使用的Web浏览器的Ajax文件管理器。 其简单的界面使得它直观,快速学习的各类用户,从高级人才到互联网初学者。 6 u$ b9 u5 I9 L, ~7 }
7 ~2 t6 }- {5 \) e3 X& u+ X
CKFinder ASP版本是这样处理上传文件的:
! M% M" d: ~9 i. U/ L- z% }- b
当上传文件名已存在时,会进行迭代重命名,比如file(1).ext存在了,会尝试重命名为file(2).ext……直到不重复为止。 w `9 N) J, q9 H- W
8 C2 _4 T0 ^0 U0 j那么现在有趣的事情来了——windows是禁止”con”作为文件名的(关于这个问题我印象中很久以前,win也有过con文件名漏洞,有兴趣可以确认下)
9 \$ l4 Q& ^! d( l, H2 W. e. A% z$ V! z
dos方法也应运而生!- U3 Y& a0 e* A* x
; w" U2 m9 i; C0 a# \0 m
- D: f& t! |3 _% j/ T+ T! |
+ C! W- f6 i2 N' [* u1.上传Con.pdf.txt, P7 J! l; Y$ @9 b
2.CKFinder认为“Con.pdf.txt” 已被占用,于是开始尝试Con.pdf(1).txt,Con.pdf(2).txt……Con.pdf(MaxInt).txt从而对服务器形成致命dos。1 k q) i: B; A: c9 b' n
5 U9 } w7 K; R7 k! z- e" N6 r4 f2 V
|