科讯kesioncms 5.5以下漏洞拿shell方法的原理总结
科讯做为一个强大的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:// /user/user_files.asp?(这个地址通过刚才复制的那个地址对比得到)既可,具体情况自己分析源文件。第二处文件过滤修改,在第84行左右有如下字段function IsStr(w){var str = “abcdefghijklmnopqrstuvwxyz_1234567890″w = w.toLowerCase();红色部分即为文件夹名所使用的字符,我们只要在其中加入“.”既可。完成后保存运行即可将文件夹重命名问xx.asp的形式了。========================部分源码======================
function Checked(){var j = 0for(i=0;i abcdefghijklmnopqrstuvwxyz_1234567890″ 字符过滤w = w.toLowerCase();var j = 0;for(i=0;iform:http://hi.baidu.com/timeless2008/=============================================================KesionCMS V4.x和v5.x版本修改了版本3存在的漏洞。只能通过后台备份拿shell关键字:inurl:/KS_Data 浏览目录漏洞,可直接下载数据库文件。挖掘机:KesionCMS5.mdb KesionCMS4.mdb得到用户名和密码登陆后台上传gif木马,记住路径。然后转到 /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”>