2013年5月26日星期日

PHPCMSV9 201212最新注入漏洞分析

PHPCMSV9 201212最新注入漏洞分析(已修复)

2012-12-30 19:05 作者:网络 来源:黑客x档案 浏览: 176 次
摘要:之前360爆出\phpcms \modules\poster\index.php 文件poster_click函数注入漏洞,其函数功能是统计广告点击次数。相关链接:http://www.hack6.com 其实在同一个文件,还有一处注入,在show函数,其功能是统计广告展示次数。 /** * js传值,统计展示次数 */ publ
更多
之前360爆出\phpcms\modules\poster\index.php 文件poster_click函数注入漏洞,其函数功能是统计广告点击次数。相关链接:http://www.hack6.com

其实在同一个文件,还有一处注入,在show函数,其功能是统计广告展示次数。

/**
  * js传值,统计展示次数
  */
 public function show() {
  $siteid = $_GET['siteid'] ? intval($_GET['siteid']) : get_siteid();
  $spaceid = $_GET['spaceid'] ? intval($_GET['spaceid']) : 0;
  $id = $_GET['id'] ? intval($_GET['id']) : 0;
  if (!$spaceid || !$id) {
   exit(0);
  } else {
   $this->show_stat($siteid, $spaceid, $id);
  }
 }



调用show_stat函数,我们跟踪一下看看

/**
  * 统计广告展示次数
  * @param intval $siteid 站点ID
  * @param intval $spaceid 广告版位ID
  * @param intval $id 广告ID
  * @return boolen
  */
 protected function show_stat($siteid = 0, $spaceid = 0, $id = 0) {
  $M = new_html_special_chars(getcache(‘poster’, ‘commons’));
  if($M['enablehits']==0) return true;
  //$siteid = intval($siteid);
  $spaceid = intval($spaceid);
  $id = intval($id);
  if(!$id) return false;
  if(!$siteid || !$spaceid) {
   $r = $this->db->get_one(array(‘id’=>$id), ‘siteid, spaceid’);
   $siteid = $r['id'];
   $spaceid = $r['spaceid'];
  }
  $ip = ip();
  $ip_area = pc_base::load_sys_class(‘ip_area’);
  $area = $ip_area->get($ip);
  $username = param::get_cookie(‘username’) ? param::get_cookie(‘username’) : ”;
  $this->db->update(array(‘hits’=>’+=1′), array(‘id’=>$id));
  $this->s_db->insert(array(‘pid’=>$id, ‘siteid’=>$siteid, ‘spaceid’=>$spaceid, ‘username’=>$username, ‘area’=>$area, ‘ip’=>$ip, ‘referer’=>HTTP_REFERER, ‘clicktime’=>SYS_TIME, ‘type’=>0));
  return true;
 }

在119行,

$this->s_db->insert(array(‘pid’=>$id, ‘siteid’=>$siteid, ‘spaceid’=>$spaceid, ‘username’=>$username, ‘area’=>$area, ‘ip’=>$ip, ‘referer’=>HTTP_REFERER, ‘clicktime’=>SYS_TIME, ‘type’=>0));

很明显的我们看到,跟上次的poster_click函数注入是一个道理,HTTP_REFERER的问题,

很悲催,刚发现这个洞没几天,昨天被官方修复了。。。
 

没有评论:

发表评论