phpcms SQL注入漏洞 adsclass.php 页面过滤不严
程序员文章站
2022-03-18 20:42:42
PHPCMS adsclass.php页面过滤不严导致SQL注入漏洞,使用phpcms的朋友请注意更新了。... 10-05-24...
发布日期:2010-05.24
发布作者:jannock
影响版本:phpcms2008sp4_utf8_100510
官方地址: www.phpcms.cn
漏洞描述: phpcms是一款基于 php+mysql 架构的网站内容管理系统,也是一个开源的 php 开发平台。phpcms 采用模块化方式开发,功能易用便于扩展,可面向大中型站点提供重量级网站建设解决方案。3年来,凭借 phpcms 团队长期积累的丰富的web开发及数据库经验和勇于创新追求完美的设计理念,使得 phpcms 得到了近10万网站的认可,并且越来越多地被应用到大中型商业网站
漏洞分析:
ads\include\ads.class.php
function edit($ads, $adsid, $username = '') //110行
{
if(!$this->check_form($ads)) return false;
$ads = $this->check_form($ads);
if(defined('in_admin'))
{
$ads['fromdate'] = strtotime($ads['fromdate']);
$ads['todate'] = strtotime($ads['todate']);
}
$this->adsid = $adsid;
$where = ' adsid='.$this->adsid;
if($username) $where .= " and username='$username'";
return $this->db->update($this->table, $ads, $where);
}
ads\member.php
if(!$c_ads->edit($info, $adsid, $_username)) showmessage($c_ads->msg(), 'goback'); //47行
变量$adsid没有经过处理就直接进入sql查询,造成sql注入。
漏洞利用:
1、注册普通会员账号
2、预订一个广告,然后修改
解决方案:
等官方补丁或修改
ads\include\ads.class.php
$this->adsid = intval($adsid);
本文转自 黑白前线
发布作者:jannock
影响版本:phpcms2008sp4_utf8_100510
官方地址: www.phpcms.cn
漏洞描述: phpcms是一款基于 php+mysql 架构的网站内容管理系统,也是一个开源的 php 开发平台。phpcms 采用模块化方式开发,功能易用便于扩展,可面向大中型站点提供重量级网站建设解决方案。3年来,凭借 phpcms 团队长期积累的丰富的web开发及数据库经验和勇于创新追求完美的设计理念,使得 phpcms 得到了近10万网站的认可,并且越来越多地被应用到大中型商业网站
漏洞分析:
复制代码
代码如下:ads\include\ads.class.php
function edit($ads, $adsid, $username = '') //110行
{
if(!$this->check_form($ads)) return false;
$ads = $this->check_form($ads);
if(defined('in_admin'))
{
$ads['fromdate'] = strtotime($ads['fromdate']);
$ads['todate'] = strtotime($ads['todate']);
}
$this->adsid = $adsid;
$where = ' adsid='.$this->adsid;
if($username) $where .= " and username='$username'";
return $this->db->update($this->table, $ads, $where);
}
ads\member.php
if(!$c_ads->edit($info, $adsid, $_username)) showmessage($c_ads->msg(), 'goback'); //47行
变量$adsid没有经过处理就直接进入sql查询,造成sql注入。
漏洞利用:
1、注册普通会员账号
2、预订一个广告,然后修改
修改 adsid的值,这里是注入的地点。提交出错信息如下:
解决方案:
等官方补丁或修改
ads\include\ads.class.php
$this->adsid = intval($adsid);
本文转自 黑白前线