账号通
    

账号  

密码  

20155

查看

15

回复
主题:低于KesionCMS V9.5.131008版本任意用户登录漏洞的修正方案 [收藏主题] 转到:  
科汛官方 当前离线

47268

主题

145

广播

405

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

用户积分:101604 分
登录次数:7935 次
注册时间:2006/12/7
最后登录:2023/12/14
科汛官方 发表于:2013/10/8 20:24:33   | 只看该作者 查看该作者主题 楼主 

漏洞危害:前台会员中心可登录任意用户账号,包括管理员账号(需要知道管理员名称),登录后获得相关权限。


影响版本:KesionCMS V9.5.131008之前的所有版本

如果您使用的版本低于V9.5.131008,请及时按以下方法修改代码:


请打开ks_cls/kesion.membercls.asp,找到类似以下代码

修复方案一
把下面加红色的两句删除即可。

Public Function UserLoginChecked()
    UserName = KS.R(Trim(KS.C("UserName")))
    PassWord= KS.R(Trim(KS.C("Password")))
    RndPassword=KS.R(Trim(KS.C("RndPassword")))
    IF UserName="" Then
       UserLoginChecked=false
       Exit Function
    ElseIf IsObject(Session(KS.SiteSN&"UserInfo")) Then
       UserLoginChecked=True
    Else
     Dim UserRs
     If DataBaseType=1 Then
      Dim Cmd : Set Cmd = Server.CreateObject("ADODB.Command")
      Set Cmd.ActiveConnection=conn
      Cmd.CommandText="KS_UserSQL"
      Cmd.CommandType=4
      CMD.Prepared = true  
      Cmd.Parameters.Append cmd.CreateParameter("@username",200,1,50,username)
      Cmd.Parameters.Append cmd.CreateParameter("@password",200,1,50,password)
      Set UserRs=Cmd.execute
       Else
        Set UserRS=Server.CreateOBject("ADODB.RECORDSET")
        UserRS.Open "Select top 1 a.*,b.SpaceSize From KS_User a inner join KS_UserGroup b on a.groupid=b.id Where UserName='" & UserName & "' And PassWord='" & PassWord & "'",Conn,1,1
       End If
     IF UserRS.Eof And UserRS.Bof Then
       UserLoginChecked=false
       Exit Function
     Else
       If KS.ChkClng(KS.Setting(35))=1 And trim(RndPassword)<>trim(UserRS("RndPassword")) Then
             UserLoginChecked=false
       Response.Write ("<script>alert('发现有人正在使用你的账号,你被迫退出!');parent.location.href='" & KS.GetDomain & "User/UserLogout.asp';</script>")
          Response.end
       End If
      
           '更新活动时间及在线状态
        If Not KS.IsNul(session("setonlinestatus")) Then
         Conn.Execute("Update KS_User Set LastLoginTime=" & SQLNowString & " Where UserName='" & UserName & "'")
        Else
         Conn.Execute("Update KS_User Set LastLoginTime=" & SQLNowString & ",IsOnline=1 Where UserName='" & UserName & "'")
        End If
        
        '更新其它会员的在线情况
        If KS.IsNUL(Application("LastUpdateTime")) or (isDate(Application("LastUpdateTime")) and DateDiff("n",Application("LastUpdateTime"),Now)>CLng(KS.Setting(8))) Then
        Application("LastUpdateTime")=Now
        Conn.Execute("Update KS_User set isonline=0 WHERE DateDIff(" & DataPart_S &",LastLoginTime," & SQLNowString & ") > "& CLng(KS.Setting(8)) &" * 60")
        End If
        
        Set Session(KS.SiteSN&"UserInfo")=KS.RsToXml(UserRS,"row","")  '写入session
        
        UserLoginChecked=true
     End if
     UserRS.Close:Set UserRS=Nothing
      End IF
      If IsObject(Session(KS.SiteSN&"UserInfo")) Then
      Set Node=Session(KS.SiteSN&"UserInfo").DocumentElement.SelectSingleNode("row")
      GroupID=Node.SelectSingleNode("@groupid").text
      ChargeType=Node.SelectSingleNode("@chargetype").text
      End If
   End Function




我们强烈建议您将系统升级到V9.5.131008!!!

特别感谢360网站安全检测平台(r00tf4uk)提供此漏洞信息。


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

1404

主题

44

广播

45

粉丝
添加关注
级别:版主

用户积分:8683 分
登录次数:124 次
注册时间:2011/11/13
最后登录:2021/11/2
ygr1971 发表于:2013/10/8 20:45:20   | 只看该作者 查看该作者主题 沙发 
 
  支持(0) | 反对(0) 回到顶部顶端 回到底部底部
山里人20121214 当前离线

91

主题

1

广播

1

粉丝
添加关注
级别:学前班

用户积分:251 分
登录次数:46 次
注册时间:2012/12/14
最后登录:2014/4/2
山里人20121214 发表于:2013/10/8 20:59:00   | 只看该作者 查看该作者主题 藤椅 
 
  支持(0) | 反对(0) 回到顶部顶端 回到底部底部
刚刚 当前离线

1852

主题

5

广播

126

粉丝
添加关注
级别:版主

用户积分:7093 分
登录次数:225 次
注册时间:2010/7/6
最后登录:2024/4/15
刚刚 发表于:2013/10/8 22:42:29   | 只看该作者 查看该作者主题 板凳 
做在线知识付费 选科汛云开店
大致看了下相关代码若追求程序执行效率的话,感到这样修改更好些:在

GroupID=Node.SelectSingleNode("@groupid").text


上加一句:

UserName=Node.SelectSingleNode("@username").text






也即是官方补丁里面的修复方式

点击查看原图
 
  支持(0) | 反对(0) 回到顶部顶端 回到底部底部
daichun39 当前离线

289

主题

6

广播

9

粉丝
添加关注
级别:二年级

用户积分:557 分
登录次数:161 次
注册时间:2012/1/30
最后登录:2018/1/3
daichun39 发表于:2013/10/8 23:18:04   | 只看该作者 查看该作者主题 报纸 
科汛在线考试系统(NET)
不错啊, www.szxlqz.net

港澳通行证续签  QQ:2313100213 这个网站就是用科讯做的! 向前进向前进 评价下!
 
  支持(0) | 反对(0) 回到顶部顶端 回到底部底部
qf520 当前离线

1098

主题

3

广播

15

粉丝
添加关注
级别:八年级

用户积分:3508 分
登录次数:824 次
注册时间:2009/12/16
最后登录:2023/12/1
qf520 发表于:2013/10/11 11:45:21   | 只看该作者 查看该作者主题 地板 
 
  支持(0) | 反对(0) 回到顶部顶端 回到底部底部
1g空间100元 当前离线

72

主题

3

广播

0

粉丝
添加关注
级别:学前班

用户积分:740 分
登录次数:29 次
注册时间:2007/12/31
最后登录:2013/10/12
1g空间100元 发表于:2013/10/12 0:48:53   | 只看该作者 查看该作者主题 7楼 
做在线知识付费 选科汛云开店
真要注意呀,尽快去升级!向前进
 
  支持(0) | 反对(0) 回到顶部顶端 回到底部底部
无风 当前离线

1622

主题

5

广播

29

粉丝
添加关注
级别:高一年

用户积分:5963 分
登录次数:199 次
注册时间:2009/10/12
最后登录:2024/4/4
无风 发表于:2013/10/14 15:09:22   | 只看该作者 查看该作者主题 8楼 
 
  支持(0) | 反对(0) 回到顶部顶端 回到底部底部
小脑袋竞价软件 当前离线

89

主题

10

广播

0

粉丝
添加关注
级别:学前班

用户积分:189 分
登录次数:5 次
注册时间:2013/8/16
最后登录:2014/3/13
小脑袋竞价软件 发表于:2013/10/15 14:52:55   | 只看该作者 查看该作者主题 9楼 
 
  支持(0) | 反对(0) 回到顶部顶端 回到底部底部
pylqy 当前离线

401

主题

1

广播

1

粉丝
添加关注
级别:四年级

用户积分:5870 分
登录次数:398 次
注册时间:2011/7/6
最后登录:2021/3/19
pylqy 发表于:2013/10/16 10:16:11   | 只看该作者 查看该作者主题 10楼 
科汛在线网校系统

这是个大问题,辛苦了

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