科讯 kesioncms 5.5以下漏洞拿shell方法原理总结(图文)

  by:Timeless2008me

  科讯做为一个强大的cms程序大多被政府和教育机构网站所使用,关于科讯的漏洞利用教程网上不是很多。由于科讯的后台登陆需要输入认证码,而认证码没有保存在数据库而是保存在asp文件中,所以在某种程度上增大了拿shell 的难度。下面就个版本拿shell 的方法做一总结。

  KesionCMS V3.x和3.x以下版本

  网上有0day工具不过没有具体原理,下面就讲一下手工拿shell的方法

  关键字:inurl:user/Login.asp 忘记密码? 如果你忘记密码请点击inurl:user/userreg.asp 小提示:在输入用户名后,可以自动检查您想要的用户名

  第一步:注册用户,也可以直接用admin admin888一般管理员都没改这个密码。

  第二步:在个人资料那里上传gif小马头像

  第三步:点击菜单栏中的 服务中心 文件管理。我们上传的gif小马就在upface文件夹里,只要把文件夹名改成upface.asp既可运行小马了。关键是文件名中过滤了"."无法直接重命名这里我们用本地html提交的方法来绕过限制。

  第四步:在文件夹管理的窗体中点击右键将页面原文件保存为本地html。

  第五步:在文件夹窗口上选择upface文件夹复制其快捷方式,如http://www.xxx.com/user /user_files.asp?ChannelID=0&topdir=/Upfiles/User/admin3/&action=Main&OpTypeStr=&CurrentDir=upface.asp

  第六步:用记事本打开刚才保存的html文件修改关键代码,这里要修改两处,第一处提交地址修改,提交地

  址我们只要将所有的?号替换为http://www.xxx.com/user/user_files.asp?(这个地址通过刚才复

  制的那个地址对比得到)既可,具体情况自己分析源文件。

  第二处文件过滤修改,在第84行左右有如下字段

  function IsStr(w)

  {

  var str = "abcdefghijklmnopqrstuvwxyz_1234567890"

  w = w.toLowerCase();

  红色部分即为文件夹名所使用的字符,我们只要在其中加入“."既可。完成后保存运行即可将文件夹重命名问xx.asp的形式了。

  ========================部分源码======================

  function Checked()

  {

  var j = 0

  for(i=0;i abcdefghijklmnopqrstuvwxyz_1234567890" 字符过滤

  w = w.toLowerCase();

  var j = 0;

  for(i=0;i

  form:http://hi.baidu.com/timeless2008/

  =============================================================

  KesionCMS V4.x和v5.x版本

  修改了版本3存在的漏洞。只能通过后台备份拿shell

  关键字:inurl:/KS_Data 浏览目录漏洞,可直接下载数据库文件。

  挖掘机:KesionCMS5.mdb KesionCMS4.mdb

  得到用户名和密码登陆后台上传gif木马,记住路径。

  然后转到 www.xxx.com/admin/ks.database.asp?action=backup 页面,

  这是备份数据库的页面,不过默认情况下我们无法输入小马路径,我们在www.xxx.com/admin /ks.database.asp?action=backup页面点右键保存源码为本地html形式,然后用记事本打开修改当前数据库路径,运行 html文件备份即可拿到shell。

  ======================部分源码===================

  www.xxx.com/admin/ks.database.asp?Action=BackUp&Flag=Backup">

  当前数据库路径D:wwwrootKS_DataKesionCMS4.mdb" readonly>备份数据库名称[如果备份目录存在该文件将覆盖,否则将自动创建] Data(2009-4-16).bak">