账号通
    

账号  

密码  

18757

查看

14

回复
主题:[危]KesionCMS V9.5.131104之前版本安全漏洞的修复(我们强烈建议您升级到最新版本V9.5.131104) [收藏主题] 转到:  
科汛官方 当前离线

47268

主题

145

广播

405

粉丝
添加关注
级别:管理员

用户积分:101604 分
登录次数:7935 次
注册时间:2006/12/7
最后登录:2023/12/14
科汛官方 发表于:2013/11/4 16:10:37   | 显示全部帖子 查看该作者主题 楼主 
科汛在线商城系统(NET)

根据近日360第三方漏洞收集平台("库带计划")有仙剑之鸣提交了[KesionCMS任意文件下载删除]的漏洞,现官方给出漏洞修改方法。


低于V9.5.131104版本的用户,我们强列建议您及早升级到最新版本(免费最新V9.5.131104正式版请到http://www.kesion.com/down下载,商业用户最新版本请到http://vip.kesion.com/user下载)。


漏洞细节就不公布,以免不怀好意之人破坏!


漏洞影响版本:v9.5,v9.0,v8.0,v7.0等更早版本


以下修复方法(升级到V9.5.131104的用户可以忽略不看):


以下以V9.5版本修复为例说明,其它版本类似:


第一步


用记事本等编辑工具打开ks_cls/kesion.commoncls.asp


找到约1500行左右的如下代码



'添加自关联数据库
Sub FileAssociation(ByVal ChannelID,ByVal InfoID,ByVal Content,ByVal Flag)
   If Flag<>0 Then
   Conn.Execute("Delete From KS_UploadFiles Where IsAnnex<>1 and ChannelID=" & ChannelID & " and InfoID=" & InfoID)
   End If
   If ChannelID<>0 And ChannelID<1000 and channelid<>7 Then
      Dim Node
      LoadFieldToXml()
   For Each Node In Application(SiteSN & "_FeildXml").DocumentElement.SelectNodes("row[@channelid=" & ChannelID &" and @fieldtype=9 or @fieldtype=10]")
      Content=Content & Request(Node.SelectSingleNode("@fieldname").text)
   Next
   End If
   Dim FileLists,I,FileArr
   FileLists=GetFilesList(ChannelID,Content)
   If Not IsNul(FileLists) Then
     FileArr=Split(FileLists,"|")
  For I=0 To Ubound(FileArr)
   Conn.Execute("Insert Into [KS_UploadFiles](ChannelID,InfoID,ClassID,FileName,IsAnnex,UserName,AddDate) values(" &ChannelID &"," & InfoID &",0,'" & replace(FileArr(i),"'","''") & "',0,'" & C("UserName") & "'," & SQLNowString&")")
  Next
   End If
End Sub


请将上面红色的代码用以下代码替换:


   Dim strFile:strFile=trim(FileArr(i))
    If right("00000000"&lcase(strfile),4)=".asp" or right("00000000"&lcase(strfile),5)=".aspx" or right("00000000"&lcase(strfile),4)=".asa" or right("00000000"&lcase(strfile),4)=".php" or right("00000000"&lcase(strfile),4)=".jsp" or len(strfile)<10 then
   Else
       Conn.Execute("Insert Into [KS_UploadFiles](ChannelID,InfoID,ClassID,FileName,IsAnnex,UserName,AddDate) values(" &ChannelID &"," & InfoID &",0,'" & replace(strFile,"'","''") & "',0,'" & C("UserName") & "'," & SQLNowString&")")
  End If




第二步:同样用记事本等编辑工具打开

item/filedown.asp

找到207行左右的如下代码

Sub downloadFile(strFile,FileOldName)
      Server.ScriptTimeOut=999999
   Dim fso,f,intFilelength,strFilename,DownFileName

替换为

Sub downloadFile(strFile,FileOldName)
            strFile=trim(strFile)
            if right("00000000"&lcase(strfile),4)=".asp" or right("00000000"&lcase(strfile),5)=".aspx" or right("00000000"&lcase(strfile),4)=".asa" or right("00000000"&lcase(strfile),4)=".php" or right("00000000"&lcase(strfile),4)=".jsp" then
     ks.die "<script>alert('非法下载!');window.close();</script>"
   end if
      Server.ScriptTimeOut=999999


即增加上面红色的代码。





本次漏洞补丁特别感谢“ 360网站安全检测平台(仙剑之鸣)”

 
KesionCMS,,
  支持(0) | 反对(0) 回到顶部顶端 回到底部底部
科汛官方 当前离线

47268

主题

145

广播

405

粉丝
添加关注
级别:管理员

用户积分:101604 分
登录次数:7935 次
注册时间:2006/12/7
最后登录:2023/12/14
科汛官方 发表于:2013/11/4 19:25:06   | 显示全部帖子 查看该作者主题 沙发 

以下是引用 xjxy在2013-11-4 17:48:35的发言:
商业会员中心里没有这个补丁



请按上面说明手工修改。没有发布补丁包,只提供上面的修复方法。

 
  支持(0) | 反对(0) 回到顶部顶端 回到底部底部
科汛官方 当前离线

47268

主题

145

广播

405

粉丝
添加关注
级别:管理员

用户积分:101604 分
登录次数:7935 次
注册时间:2006/12/7
最后登录:2023/12/14
科汛官方 发表于:2013/11/6 18:27:39   | 显示全部帖子 查看该作者主题 藤椅 

以下是引用 icb2b在2013-11-5 9:30:38的发言:
支持一个



我的是V9.5.131022的版本,是只要按照上面的修改一下就可以了吗?





请下载补丁升级到v9.5.131104版本,下载地址:http://bbs.kesion.com/forumthread-1126172.html

 
  支持(0) | 反对(0) 回到顶部顶端 回到底部底部
<上一主题 | 下一主题 >
Powered By KesionCMS Version X1
厦门科汛软件有限公司 © 2006-2016 页面执行0.10938秒 powered by KesionCMS 9.0