感谢生生不息在freebuf社区”分享团”里给出线索,才有了本文
1 V. I7 L9 u$ {( m# z: i2 u$ H q0 u r- g
原帖:http://club.freebuf.com/?/question/129#reply12
/ x+ ` X" N0 I" n# d4 o* e6 ^; S8 o
FCKEditor 2.6.8文件上传漏洞5 o/ t k; q) D, }/ M5 B: F
9 w0 |" ^+ S7 dExploit-db上原文如下:
P0 |) I: J3 u; s+ S9 y) Z- d
& _+ g* p5 x- y& j- ?% @- Title: FCKEditor 2.6.8 ASP Version File Upload Protection bypass3 }1 z5 C* K% y( ?( [: t2 F
- Credit goes to: Mostafa Azizi, Soroush Dalili; z' m9 L0 t. x
- Link:http://sourceforge.net/projects/fckeditor/files/FCKeditor/* s" {/ r u% h: P' t
- Description:+ ~$ ]3 O' ]8 a% z! k
There is no validation on the extensions when FCKEditor 2.6.8 ASP version is3 F. |5 V0 Q3 G$ z
dealing with the duplicate files. As a result, it is possible to bypass
9 Q' M! t v5 b: H4 Rthe protection and upload a file with any extension.
# a" P( D4 F7 o" n* C( h) \- Reference: http://soroush.secproject.com/blog/2012/11/file-in-the-hole/
4 Z- Y* ^ J" C" z; T: Z* o: R- Solution: Please check the provided reference or the vendor website.% L2 h" f: E0 W' t0 H, L
, F% B9 ]2 U" R6 B/ b" r3 D
- PoC:http://www.youtube.com/v/1VpxlJ5 ... ;rel=0&vq=hd720
0 I" y+ x5 {. x: m9 D"& V) e; O4 [( x6 i" S8 z5 K
Note: Quick patch for FCKEditor 2.6.8 File Upload Bypass:
G3 ^/ C* k" o+ O: L. Q7 J$ V) O) v; I3 ?& x7 t
In “config.asp”, wherever you have:$ l$ q i9 m) W( }
ConfigAllowedExtensions.Add “File”,”Extensions Here”
& P( f5 U* ^( i7 v5 p/ D2 H. v1 `Change it to:
6 v f& M4 ^1 F/ C9 B* z ConfigAllowedExtensions.Add “File”,”^(Extensions Here)$”在视频(需翻墙)里,我们可以看的很清楚:
" Y1 J$ p T2 l$ s1 v) b: H% m* C/ N* s
5 x: v. j0 L1 e: Y* N2 ~1.首先,aspx是禁止上传的
% m' {1 W8 P4 [) g4 i2.使用%00截断(url decode),第一次上传文件名会被转成_符号" P. I- h0 y: j3 X; b4 S0 y- x
# t! I# W' v6 r9 p$ p. V, j5 B8 J' I" p' Y1 I1 ^% H1 ~
4 M. R# h! M7 u5 a
接下来,我们进行第二次上传时,奇迹就发生了: S! Y: a* R2 f
8 y( h3 v3 [- {6 {- z9 k0 X
% w0 e ~% k7 o/ s7 x2 p! R" G/ Q
& X0 n# ? L: e9 j代码层面分析可以看下http://lanu.sinaapp.com/ASPVBvbscript/121.html0 L5 q5 i' r: H
1 q/ ?3 d; H8 @6 \0 l7 U7 p3 f
* l2 H, @2 m, \" W. m! w
! q% p9 d" R8 W
CKFinder/FCKEditor DoS漏洞
2 g3 R* z& ^0 z7 V' M1 N9 T. I2 f! M5 V8 }* y, W" d( s
相比上个上传bug,下面这个漏洞个人觉得更有意思: d4 x7 r' v; t; @
; J- F: I4 f/ L9 x : I" K$ e" A* I0 ^% f; A+ u) b; H
+ T4 Z6 X/ g% CCKFinder是一个强大而易于使用的Web浏览器的Ajax文件管理器。 其简单的界面使得它直观,快速学习的各类用户,从高级人才到互联网初学者。
- O* Q) B) v& m. t/ _/ ]7 Z7 I9 |! m3 g* y) c0 v
CKFinder ASP版本是这样处理上传文件的:
* _6 U* h% ]2 |0 h5 P7 T# e9 M/ |- v# O
当上传文件名已存在时,会进行迭代重命名,比如file(1).ext存在了,会尝试重命名为file(2).ext……直到不重复为止。, v/ A2 v# Z6 q% ]" C0 U2 q! B
, b5 Y" s5 Q1 s7 h$ e9 F1 D6 {5 Z那么现在有趣的事情来了——windows是禁止”con”作为文件名的(关于这个问题我印象中很久以前,win也有过con文件名漏洞,有兴趣可以确认下)
3 j; I$ z! F% @0 g; N) U- p
7 z! q1 X9 d; I$ h) p/ Y; P C; Bdos方法也应运而生!
& A/ [2 A& U, m7 p
u. e4 r; g( C" f, m8 o 1 ^% X" f) M% g4 N5 l% j) |$ r
7 @0 t+ ?) o D1.上传Con.pdf.txt
3 k& j) d. O# l2 H# C2.CKFinder认为“Con.pdf.txt” 已被占用,于是开始尝试Con.pdf(1).txt,Con.pdf(2).txt……Con.pdf(MaxInt).txt从而对服务器形成致命dos。
2 I' t4 Y0 x3 p5 u" _& m. ]# [2 W8 G
|