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

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

缺陷编号: WooYun-2014-80142

漏洞标题: 骑士人才系统 sql注入导致任意用户密码修改

相关厂商: 74cms.com

漏洞作者: menmen519

提交时间: 2014-10-20 16:40

公开时间: 2014-12-30 14:44

漏洞类型: SQL注射漏洞

危害等级: 高

自评Rank: 20

漏洞状态: 漏洞已经通知厂商但是厂商忽略漏洞

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

Tags标签: sql注射漏洞利用技巧 php源码分析

0人收藏 收藏
分享漏洞:


漏洞详情

披露状态:

2014-10-20: 细节已通知厂商并且等待厂商处理中
2014-10-25: 厂商主动忽略漏洞,细节向第三方安全合作伙伴开放(绿盟科技唐朝安全巡航无声信息
2014-12-19: 细节向核心白帽子及相关领域专家公开
2014-12-29: 细节向普通白帽子公开
2015-01-08: 细节向实习白帽子公开
2014-12-30: 细节向公众公开

简要描述:

骑士人才系统 sql注入导致任意用户密码修改

详细说明:

wap_password.php:

code 区域
elseif ($act == 'save_password')
{
require_once(QISHI_ROOT_PATH.'include/fun_user.php');
$arr['username']=$_SESSION['username'];
$arr['oldpassword']=trim($_POST['oldpassword'])?trim($_POST['oldpassword']):exit('请输入旧密码!');
$arr['password']=trim($_POST['password'])?trim($_POST['password']):exit('请输入新密码!');
if ($arr['password']!=trim($_POST['password1'])) exit('两次输入密码不相同,请重新输入!');
//edit_password()修改密码的方法
$info=edit_password($arr);







我们跟进到这个函数edit_password:



fun_user.php:

code 区域
function edit_password($arr,$check=true)
{
global $db,$QS_pwdhash;
if (!is_array($arr))return false;
$user_info=get_user_inusername($arr['username']);
$pwd_hash=$user_info['pwd_hash'];
$password=md5(md5($arr['oldpassword']).$pwd_hash.$QS_pwdhash);
if ($check)
{
$row = $db->getone("SELECT * FROM ".table('members')." WHERE username='{$arr['username']}' and password = '{$password}' LIMIT 1");

if(empty($row))
{
return -1;
}
}
$md5password=md5(md5($arr['password']).$pwd_hash.$QS_pwdhash);
if ($db->query( "UPDATE ".table('members')." SET password = '$md5password' WHERE username='".$arr['username']."'")) return $arr['username'];
write_memberslog($_SESSION['uid'],$_SESSION['utype'],1004,$_SESSION['username'],"修改了密码");
return false;
}







看见没有这里的意思是如果我们找到了username,那么我们底下就update该用户的密码





我们到注册页面:

1.jpg







注册完毕后 我们的意图就是更改test的密码



然后我们发送url:



http://localhost/74cms_v3.5.1_20141015/upload/wap/personal/wap_password.php?act=save_password



post:

oldpassword=xxxxx&password=yyyy&password1=yyyy



test用户的密码就被修改给yyyy了

登陆 看看:



15.png

漏洞证明:

修复方案:

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


漏洞回应

厂商回应:

危害等级:无影响厂商忽略

忽略时间:2014-12-30 14:44

厂商回复:

最新状态:

暂无


漏洞评价:

对本漏洞信息进行评价,以更好的反馈信息的价值,包括信息客观性,内容是否完整以及是否具备学习价值

漏洞评价(共0人评价):
登陆后才能进行评分

评价

  1. 2014-10-20 16:47 | 铁蛋火车侠 ( 普通白帽子 | Rank:156 漏洞数:31 | Q群371620085 技术交流群 有漂亮妹纸!)
    1

    ....

  2. 2014-10-21 09:50 | X-Power ( 实习白帽子 | Rank:35 漏洞数:3 | 没事来打酱油)
    0

    正需要此洞。

  3. 2014-10-21 20:17 | 好好吃饭天天向上 ( 路人 | Rank:5 漏洞数:1 | 漏洞是什么!?)
    0

    重复了吧?!http://loudong.360.cn/vul/info/id/26885

  4. 2014-10-21 20:24 | menmen519 ( 普通白帽子 | Rank:914 漏洞数:161 | http://menmen519.blog.sohu.com/)
    0

    @好好吃饭天天向上 可能吧,不知道啊

登录后才能发表评论,请先 登录