网站地图    收藏   

主页 > 后端 > 网站安全 >

PHPCMSV9 201212最新注入漏洞分析(已修复) - 网站安全

来源:自学PHP网    时间:2015-04-17 11:59 作者: 阅读:

[导读] 之前360爆出\phpcms\modules\poster\index.php 文件poster_click函数注入漏洞,其函数功能是统计广告点击次数。相关链接:http://www.2cto.com/Article/201212/178023.html其实在同一个文件,还有一处注入,在...

之前360爆出\phpcms\modules\poster\index.php 文件poster_click函数注入漏洞,其函数功能是统计广告点击次数。相关链接:http://www.2cto.com/Article/201212/178023.html
 
其实在同一个文件,还有一处注入,在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的问题,
 
很悲催,刚发现这个洞没几天,昨天被官方修复了。。。
 

自学PHP网专注网站建设学习,PHP程序学习,平面设计学习,以及操作系统学习

京ICP备14009008号-1@版权所有www.zixuephp.com

网站声明:本站所有视频,教程都由网友上传,站长收集和分享给大家学习使用,如由牵扯版权问题请联系站长邮箱904561283@qq.com

添加评论