感谢生生不息在freebuf社区”分享团”里给出线索,才有了本文# m+ S( U( Z% T
; `2 f" { N; C, f8 L原帖:http://club.freebuf.com/?/question/129#reply12
! a, W$ p+ L* G: s6 E; o/ E( ~! I# t' _
FCKEditor 2.6.8文件上传漏洞
0 J' _2 W- J( w- q0 r/ J0 y2 t C2 g9 I9 h
Exploit-db上原文如下:
% N: R/ v* l( [5 F
; r( i5 n, o( [" s9 `- Title: FCKEditor 2.6.8 ASP Version File Upload Protection bypass( M5 `9 c3 M' W v
- Credit goes to: Mostafa Azizi, Soroush Dalili
( w4 ?" x) t+ Y: x9 w; F6 r% P. ]- Link:http://sourceforge.net/projects/fckeditor/files/FCKeditor/! N6 l6 K1 J# H% t; {" P, \2 n6 S
- Description:
$ t: E: k3 B* {# V# K& |" s0 C9 [3 _There is no validation on the extensions when FCKEditor 2.6.8 ASP version is2 G; L& K: {& m! B% ]$ b8 j' c
dealing with the duplicate files. As a result, it is possible to bypass
1 h+ T1 Q4 Z& c5 K# A4 rthe protection and upload a file with any extension.1 f1 g0 D3 ~% r7 G# E! K r5 s
- Reference: http://soroush.secproject.com/blog/2012/11/file-in-the-hole/
$ w; l$ q5 }* p9 S) ?% j$ y5 l) {- Solution: Please check the provided reference or the vendor website.
: Q: }( ^+ {, n# v7 `6 [! U4 A. v3 e* I1 N! p8 l) p
- PoC:http://www.youtube.com/v/1VpxlJ5 ... ;rel=0&vq=hd720
) X3 _# X) r* c$ o' m$ u"
* v, }) c( E) j/ INote: Quick patch for FCKEditor 2.6.8 File Upload Bypass:" `( _2 m" w9 }9 ]/ k5 h. v
' a% q" V& W8 Z, wIn “config.asp”, wherever you have:6 J5 R/ e5 l9 ~, N; ]9 o2 b
ConfigAllowedExtensions.Add “File”,”Extensions Here”
5 ~4 h# F! Q- N k) }Change it to:
0 {3 j7 a' f! \3 t ConfigAllowedExtensions.Add “File”,”^(Extensions Here)$”在视频(需翻墙)里,我们可以看的很清楚: W. @( n. f5 D7 q# o$ _1 r8 x
* k" f, r S; \: e
1.首先,aspx是禁止上传的
# j9 t/ Q$ Z7 o4 ]2.使用%00截断(url decode),第一次上传文件名会被转成_符号
* x9 F) P! Z. ~* v* m2 u g9 H1 ]8 V* t
; p- O+ e' C! N
8 z4 f' j' v+ Z3 x2 t. f
接下来,我们进行第二次上传时,奇迹就发生了- A: E# I0 V% N' V6 w, ?/ l, S
' F( _/ D4 [# I# q0 E' h
T, x. r m2 |5 d4 v+ `, c Z
9 G6 L5 J+ T ^) {4 v& Z代码层面分析可以看下http://lanu.sinaapp.com/ASPVBvbscript/121.html+ X* }0 W. x5 h# H+ ]
' l0 I9 E- |: V* Z- f8 J O6 b ( g, Z3 B1 s( c. K; w3 J- I
X) C9 @1 A4 i9 D& P5 e
CKFinder/FCKEditor DoS漏洞
( Z# }! Y& s2 x5 D) B& A2 ?% p- [# R. ~* O. _+ k* Y5 y
相比上个上传bug,下面这个漏洞个人觉得更有意思
$ X4 \4 x3 O4 `5 u, b
5 a% I& t) g8 r
9 `7 w3 f; P' w# E2 `' ^! N9 c5 L. d5 k( L, |
CKFinder是一个强大而易于使用的Web浏览器的Ajax文件管理器。 其简单的界面使得它直观,快速学习的各类用户,从高级人才到互联网初学者。
8 k8 N: E# Z) o9 D$ }6 [4 [
; X( S# l/ w( }/ P- {( d/ ~' aCKFinder ASP版本是这样处理上传文件的:
% q1 C: L$ x" j3 R$ K7 d- F: K2 F- h# j2 o2 P
当上传文件名已存在时,会进行迭代重命名,比如file(1).ext存在了,会尝试重命名为file(2).ext……直到不重复为止。
1 z& w9 F* m" q0 j/ z) _1 A U4 k$ N& O8 f
那么现在有趣的事情来了——windows是禁止”con”作为文件名的(关于这个问题我印象中很久以前,win也有过con文件名漏洞,有兴趣可以确认下)
# x3 y* M/ q, ~ ]& w+ F8 u) \% f z- [
dos方法也应运而生!
* \; L, K/ [- W3 U7 F
& T4 Q- s: O: P8 p. Y! j2 F # s% X6 | C$ @% l2 d' K- x6 u" @
% L7 [4 f B# r) d1.上传Con.pdf.txt
0 v5 p' w) j. o/ z/ d2.CKFinder认为“Con.pdf.txt” 已被占用,于是开始尝试Con.pdf(1).txt,Con.pdf(2).txt……Con.pdf(MaxInt).txt从而对服务器形成致命dos。0 L! Z( U. e% C' O: B
K( z0 v3 u7 b
|