智睿软件_技术交流论坛综合站长Web程序开发 → FCKeditor编辑器上传漏洞(解决方案)


  共有21816人关注过本帖树形打印

主题:FCKeditor编辑器上传漏洞(解决方案)

帅哥哟,离线,有人找我吗?
zhirui
  1楼 个性首页 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:管理员 帖子:520 积分:8740 威望:0 精华:5 注册:2009-07-07
FCKeditor编辑器上传漏洞(解决方案)  发帖心情 Post By:2009-12-11 19:44:54

1.打开引用页或嵌入调用页。例:http://127.0.0.1/FCKeditor/_samples/default.html
2.点击“插入/编辑图像”图标,打开“图像属性-网页对话框”,点击浏览服务器。
3.按F11键把FCKeditor窗口嘬大化,得到该窗口隐藏在地址栏中的URL:"http://127.0.0.1/FCKeditor/editor/filemanager/browser/default/browser.html?Type=Image&Connector=connectors/asp/connector.asp"

4.把Type=Image中的Image更改为"/",回车执行。结果显示为Userfiles中的所有文件夹及文件。
5.上传任意一个Asp文件,成功上传!

漏洞描述:

可以上传任意格式的文件。
v1.6之前的版本不仅"/"可用,还可用"../"直至站点根目录。
对于采用FCKeditor编辑器v1.6之后版的网站,只要短短几分钟,一个小马就可能跑入了服务器!

还可以新建一个.asa文件。一定要新建.asa .asp不行的。

然后传个小马.jpg 在.asa中,绝杀..

修复

修改\editor\filemanager\browser\default\connectors\asp中的commands.asp文件,如下:


在代码:

  ' Get the uploaded file name.
  sFileName = oUploader.File( "NewFile" ).Name
  sExtension = oUploader.File( "NewFile" ).Ext

后加入如下语句:


'jmdcw 限制上传类型代码
sFileName=Mid(sFileName,1,Instr(sFileName,".")-1)
Dim FilterArray
Dim jm
Dim jmdcw
jmdcw=false
FilterArray=Split("BMP|JPG|JPEG|GIF|PNG|RAR|ZIP|SWF|WAV|MID|WMA","|")'允许上传类型

For jm=0 to UBound(FilterArray)
if UCase(sExtension)=FilterArray(jm) Then
jmdcw=true
Exit For
Else
jmdcw=false
End if
Next
if jmdcw=false Then '如果不在上传类型中,则弹出窗口
sErrorNumber = "202"
Else
sFileName=sFileName&"."&sExtension
'下面的为文件原语句
sOriginalFileName = sFileName
Dim iCounter
.......... '省略部分代码
if oUploader.ErrNum > 0 Then sErrorNumber = "202"
Exit Do
End if
Loop
End if '在此加入IF结束语句
End if
Set oUploader = Nothing 'End

考试管理系统,适合中小学校,驾校,技术认证考试 支持(0中立(0反对(0回到顶部