感谢生生不息在freebuf社区”分享团”里给出线索,才有了本文
$ L+ f3 b0 W' X
( j4 T! ^( V& I. j: }3 K4 h" n原帖:http://club.freebuf.com/?/question/129#reply12
5 l/ h7 Z$ E M" @- V5 d* k
& q6 l0 V+ @, H# G+ HFCKEditor 2.6.8文件上传漏洞
# J8 z! Y% U- B% J$ V _- ~ {2 t( q6 z
Exploit-db上原文如下:4 U2 O6 P% r8 L5 e- Z& ]0 X
4 d3 n$ ^% c6 u" k4 S* F U
- Title: FCKEditor 2.6.8 ASP Version File Upload Protection bypass
9 ^, E: R" a& ^3 G1 Y- Credit goes to: Mostafa Azizi, Soroush Dalili
3 d) o9 U, l7 `- Link:http://sourceforge.net/projects/fckeditor/files/FCKeditor/8 B" N7 B" G% p0 t5 R9 v
- Description:. f2 w$ l7 w7 a, w, \2 n
There is no validation on the extensions when FCKEditor 2.6.8 ASP version is& S! I6 F) x' Z
dealing with the duplicate files. As a result, it is possible to bypass
9 i( F/ X& q% Q6 m7 b# Fthe protection and upload a file with any extension.5 Q; c: {0 |$ \, h* \% S2 P: c
- Reference: http://soroush.secproject.com/blog/2012/11/file-in-the-hole/; x" T; Z: n( i. {2 A
- Solution: Please check the provided reference or the vendor website.: z4 r, \' l. p
0 Y8 y" q1 u9 g. V
- PoC:http://www.youtube.com/v/1VpxlJ5 ... ;rel=0&vq=hd7201 l. o" `" b% U& d/ ]# \$ T
"
7 E2 W9 `7 ]0 {- ^$ xNote: Quick patch for FCKEditor 2.6.8 File Upload Bypass:
' C9 `* ?% M- K* G3 R# r9 D3 i# k% J5 u7 q
In “config.asp”, wherever you have:
8 i* f# i9 r' w4 t! ] ConfigAllowedExtensions.Add “File”,”Extensions Here”0 p- f5 w i5 P9 r
Change it to:
% Z' Q: V) ?0 y8 U ConfigAllowedExtensions.Add “File”,”^(Extensions Here)$”在视频(需翻墙)里,我们可以看的很清楚:) v3 u/ E A8 ~4 Z! q! {
$ b4 v. l# }- @# T) F! K$ J4 f$ A
1.首先,aspx是禁止上传的
5 }! t- ?% d7 T2 M! D& ?4 m2 [2 t. V8 O: |2.使用%00截断(url decode),第一次上传文件名会被转成_符号. }$ ^/ w! w/ w2 U0 F- q
1 }( k% p+ f; W- B9 e, W! q) G6 } V9 [9 k
- Q3 j W, i4 u$ P6 p% H" [$ b- @) t8 B: ^2 D; K: F1 l
接下来,我们进行第二次上传时,奇迹就发生了# p5 A5 a) W y0 t
+ Y! b$ \3 Q7 p3 W$ x/ g
1 h9 b1 y, S' p$ x: O4 M. ~$ L
* t3 y P$ ]/ f4 Y3 ~! X. B4 T y- I
代码层面分析可以看下http://lanu.sinaapp.com/ASPVBvbscript/121.html
: [; ~2 |! p( B7 s* B1 ]1 k; L: e7 T# x& J
6 j+ X( y8 f6 j; v" O! Z6 z
( _/ B. e% x) `& i/ \% V% Q. L. HCKFinder/FCKEditor DoS漏洞
w3 w& e K6 G2 s
/ k! Z A% {$ q3 o相比上个上传bug,下面这个漏洞个人觉得更有意思7 q4 Q2 V( W9 t. c8 T3 c$ M6 G1 O
" i" |0 c& O, i: ^9 N. h ! L! t% E3 Z. [7 @3 v5 n
. F6 z3 @$ @! B& G/ I" k
CKFinder是一个强大而易于使用的Web浏览器的Ajax文件管理器。 其简单的界面使得它直观,快速学习的各类用户,从高级人才到互联网初学者。 % v% v5 K( `0 A3 o9 v
8 i% ^9 R+ r* w3 {# O( K7 q! ]5 VCKFinder ASP版本是这样处理上传文件的:
4 s; b( J! _& q" p
9 l7 J" `+ G ~. t- I当上传文件名已存在时,会进行迭代重命名,比如file(1).ext存在了,会尝试重命名为file(2).ext……直到不重复为止。
2 p6 G" b2 q* E* @( ?9 F% Q! C& F4 ]8 @7 L, H
那么现在有趣的事情来了——windows是禁止”con”作为文件名的(关于这个问题我印象中很久以前,win也有过con文件名漏洞,有兴趣可以确认下)
; `! P' v# X! R, _8 l
2 _1 P% Y) m, D9 D- m6 y( bdos方法也应运而生!
; c2 V1 c U) i! R5 C' H5 j- P+ h: L% A D* \" Y9 {7 }1 j
0 y* o( R' N# i1 ]. t+ Q/ {6 f% H' |" [% }; z
1.上传Con.pdf.txt
% M. \ y# R# S9 A, l1 b2.CKFinder认为“Con.pdf.txt” 已被占用,于是开始尝试Con.pdf(1).txt,Con.pdf(2).txt……Con.pdf(MaxInt).txt从而对服务器形成致命dos。
; G( L. Z T' b9 b& I0 [! ]9 m4 a" a2 P5 ?7 K" J0 I2 E
|