感谢生生不息在freebuf社区”分享团”里给出线索,才有了本文9 u) u1 J) @* j5 U/ O3 s
6 t; p1 m e+ F8 E0 P
原帖:http://club.freebuf.com/?/question/129#reply127 a% E9 h- S0 K, C1 n: }
7 G& k) u& v& K( L: x
FCKEditor 2.6.8文件上传漏洞
8 J# G N7 S6 |7 u4 Z/ s9 B$ ^: ^0 f6 z% I# f$ B& n
Exploit-db上原文如下:* s% e1 {, _; G3 j0 V5 g n
7 z6 L9 j, L5 \) c8 h% ^
- Title: FCKEditor 2.6.8 ASP Version File Upload Protection bypass
$ F: ]4 n2 Q& u4 \- P- K- Credit goes to: Mostafa Azizi, Soroush Dalili
- \; P* m+ L) p2 a/ i7 ~( e9 g- Link:http://sourceforge.net/projects/fckeditor/files/FCKeditor/
7 i q8 f" R' P" F7 s& }- Description:& f- Y( |6 w6 [# `0 Z
There is no validation on the extensions when FCKEditor 2.6.8 ASP version is
- A/ U/ G/ A( h2 Rdealing with the duplicate files. As a result, it is possible to bypass7 H& {" Y( j" k0 ^. j/ u4 J q
the protection and upload a file with any extension.
* N* b+ j+ s' @3 c1 Z' c6 F- Reference: http://soroush.secproject.com/blog/2012/11/file-in-the-hole/$ o z% o: A5 x: y$ J2 F
- Solution: Please check the provided reference or the vendor website., S9 M0 `& v, v2 {/ P5 }
5 d' k1 r( N0 N
- PoC:http://www.youtube.com/v/1VpxlJ5 ... ;rel=0&vq=hd720( q2 [0 O: D7 P, V8 c2 }
"
9 @# Z. ?/ _( r* `6 U$ KNote: Quick patch for FCKEditor 2.6.8 File Upload Bypass:6 n, W& A" F& b/ N, X% ~
, R6 V) p1 `/ w) Q# h& V
In “config.asp”, wherever you have:
T' M( g( v7 T- ~& D ConfigAllowedExtensions.Add “File”,”Extensions Here”0 O; l* n; t ]7 O2 Z0 O# C- F
Change it to:/ Q0 P1 b! p) e! |& m7 W# s8 T* q8 o
ConfigAllowedExtensions.Add “File”,”^(Extensions Here)$”在视频(需翻墙)里,我们可以看的很清楚:
8 A8 a7 @, ~ U P6 g$ q" X* p; U) M- S3 L
1.首先,aspx是禁止上传的4 D" _ d! D! @4 a
2.使用%00截断(url decode),第一次上传文件名会被转成_符号* ` ?% i+ i Z0 g& j, M
. Y" c9 q4 X* _, i
2 y* w) {. W2 U7 ] V: r8 G) h9 ^$ ^7 b7 Z# W1 ]( i
接下来,我们进行第二次上传时,奇迹就发生了
( j, \* ~$ K7 N' Z/ n/ R
" A7 ]- ?! q1 J" i* k Z. K1 Y7 D. g/ e( h" i# G. t0 g/ t
E/ W1 ~6 K; w) E
代码层面分析可以看下http://lanu.sinaapp.com/ASPVBvbscript/121.html- X& [. ^8 H* ]' c) L+ J
4 M9 m9 q% L# J w' F & Z' M1 J9 T! {% M" S, Y
" t6 M* p2 F6 t: m: O
CKFinder/FCKEditor DoS漏洞
8 ^2 [( a+ s' ^& i/ P& f: q0 i7 }& k3 \
相比上个上传bug,下面这个漏洞个人觉得更有意思
1 [$ `8 y' u+ O0 D: O* T' T* N0 f
$ i9 F5 C( [$ L8 M: T9 G# d3 W4 \
$ C9 B4 O) S9 [) ~1 b9 q \7 F9 v4 ^) x- }
CKFinder是一个强大而易于使用的Web浏览器的Ajax文件管理器。 其简单的界面使得它直观,快速学习的各类用户,从高级人才到互联网初学者。 4 |1 E9 s# e' ?/ w- v
# E9 c+ M6 e) S1 B- t6 c( d, V
CKFinder ASP版本是这样处理上传文件的:
7 N8 _% ^; E& {, a* m+ | F1 F8 h1 `7 H% F, h
当上传文件名已存在时,会进行迭代重命名,比如file(1).ext存在了,会尝试重命名为file(2).ext……直到不重复为止。
4 O0 U/ u8 |+ C" X2 F; `; L
+ |, z z# m& u# p8 `- n* U Y那么现在有趣的事情来了——windows是禁止”con”作为文件名的(关于这个问题我印象中很久以前,win也有过con文件名漏洞,有兴趣可以确认下)$ }+ o1 }. |1 C! i; Z& l( G
4 c/ W( C' ~) k' p
dos方法也应运而生!2 h$ ?, N( n8 s( M; d
7 P# X. S6 Q. m# p2 H 5 t7 `& L ^1 ^* t
9 E9 E' C0 i2 L4 c/ |1.上传Con.pdf.txt6 W- r' X" v; l; ]6 g
2.CKFinder认为“Con.pdf.txt” 已被占用,于是开始尝试Con.pdf(1).txt,Con.pdf(2).txt……Con.pdf(MaxInt).txt从而对服务器形成致命dos。& w8 I# {: Q* x R4 {3 v* z; w
" H' Q( z7 }5 L' H1 ?; p8 U |