当前位置:首页 >> 网络通讯 >> 网络安全 >> 内容

ThinkSNS修改帐号验证不安全,可伪造

时间:2015/5/19 18:25:37 作者:平凡之路 来源:xuhantao.com 浏览:

ThinkSNS开启邮箱验证后修改帐号邮箱发送的连接不安全,可伪造

版本最新的2.8
代码位置:
thinksns\addons\services\ValidationService.class.php搜狗电脑知识网
$validation_code = $this->__generateCode($vid);
$target_url  = $target_url . "&validationid=$vid&validationcode=$validation_code";
$res = model('Validation')->where("`validation_id`=$vid")->setField(array('code','target_url'), array($validation_code, $target_url));
if ($res) {
 return $target_url;
}else {
 return false;
}

private function __generateCode($id) {
return md5($id.'thinksns#^!@*#%^!@#');
}

明显这个validationid和validationcode可以很容易伪造。作为开源程序这个应该做为常量安装的时候配置,但是他们没有

说说利用把
加入 a(用户id假设为1) 用户修改了安全邮箱就会收到一个验证连接
如下
?app=home&mod=Public&act=doModifyEmail&validationid=1&validationcode=304dbee8afac9f91bc211009ce9de3e8

而validationcode就等于 md5("1thinksns#^!@*#%^!@#")
所以可以通过这个方式绕过所有的验证。
好在数据不是通过参数接收的 安全级别给个低把。
修复方案:
用自定义的常量代替thinksns#^!@*#%^!@#
或者自由发挥!

共有评论 0相关评论
发表我的评论
  • 大名:
  • 内容:
  • 徐汉涛(www.xuhantao.com) © 2024 版权所有 All Rights Reserved.
  • 部分内容来自网络,如有侵权请联系站长尽快处理 站长QQ:965898558(广告及站内业务受理) 网站备案号:蒙ICP备15000590号-1