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

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

缺陷编号: WooYun-2015-119999

漏洞标题: 74cms三处sql注入漏洞

相关厂商: 74cms.com

漏洞作者: answer认证白帽子

提交时间: 2015-06-12 15:40

公开时间: 2015-09-15 15:43

漏洞类型: SQL注射漏洞

危害等级: 高

自评Rank: 20

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

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

Tags标签: php源码分析

6人收藏 收藏
分享漏洞:


漏洞详情

披露状态:

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

简要描述:

代码审计第三发

详细说明:

看代码

include/fun_company.php 963-968行



code 区域
function action_user_setmeal($uid,$action)
{
global $db;
$sql="update ".table('members_setmeal')." set `".$action."`=".$action."-1 WHERE uid=".intval($uid)." AND effective=1 LIMIT 1";
return $db->query($sql);
}





可以看到$action未做处理就进入SQL语句了。下面看看哪些地方调用了action_user_setmeal这个函数

有以下这些文件

1.png



其中我划线的文件,变量就是我们可控的。下面看看那三个文件



1.plus/ajax_get_promotion.php 263-264行

code 区域
$user_pname=trim($_GET['pro_name']);
action_user_setmeal($_SESSION['uid'],$user_pname); //更新套餐中相





可看到$user_pname来自用户传过去pro_name参数,而且并未做处理,就进入了action_user_setmeal 函数,所以造成注入。



2.user/company/company_ajax.php 266-267行

3.user/company/company_promotion.php 262-263行



这两处和第一处一样,代码就不贴了。

下面证明





漏洞证明:

我们用第二处来证明,因为这一出,更直观。

首先注明:需要后台的运营模式是套餐模式。(虽然默认的不是,但是总会用网站的是需要第二种模式的。)

2.png





1.注册一个企业账号

2.发布一个职位

3.来到推广的地方

4.png



可任意点击红框内的一个按钮,这里拿置顶来测试。

点击置顶之后,截包,我划红线的地方就是可控的参数

8.png



看看SQL语句监控



6.png



完美执行,这里我们就可以该自己的用户类型,变成高级会员 哈哈哈。



因为有waf,绕不过,所以只能用布尔盲注。



所以找了找页面变化的地方。

加载payload之前的

7.png





加了payload之后的是

9.png



免费会员就成了我们提交的34了,此处就可以作为布尔盲注判断的地方,进行注入。(可以写脚本跑的)。

至于payload中的uid参数,抓个包就能看见是多少了



其他两处都差不多





修复方案:

你懂的额

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


漏洞回应

厂商回应:

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

忽略时间:2015-09-15 15:43

厂商回复:

漏洞Rank:15 (WooYun评价)

最新状态:

暂无


漏洞评价:

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

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

评价

  1. 2015-06-25 19:29 | 明月影 ( 路人 | Rank:12 漏洞数:8 )
    1

    等阵子看公开

  2. 2015-09-15 15:44 | sOnsec ( 普通白帽子 | Rank:106 漏洞数:29 | 安全是什么...)
    0

    - - 为何无影响呢。

  3. 2015-09-15 16:13 | Hckmaple ( 普通白帽子 | Rank:196 漏洞数:53 | ~~~)
    0

    学习了

  4. 2015-09-15 16:49 | Rainism ( 路人 | Rank:11 漏洞数:3 | hacking for fun)
    0

    学习了

  5. 2015-09-15 17:52 | hack_lan ( 路人 | Rank:12 漏洞数:5 | 爱好linux开源架构,安全,python)
    0

    监控工具是撒工具啊?

  6. 2015-09-15 18:02 | Msyb ( 实习白帽子 | Rank:53 漏洞数:14 | 非常荣幸加入乌云。)
    0

    @hack_lan 是seay代码审计系统自带的一个mysql监视插件。

  7. 2015-09-16 09:30 | hack_lan ( 路人 | Rank:12 漏洞数:5 | 爱好linux开源架构,安全,python)
    0

    @Msyb 谢谢 我去看看

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