我说过这样的话 發表於 2010-5-24 23:43:32

phpcms SQL注入漏洞 adsclass.php 页面过滤不严

发布日期:2010-05.24 <br />发布作者:Jannock <br />影响版本:phpcms2008sp4_UTF8_100510 <br />官方地址: www.phpcms.cn <br />漏洞描述: Phpcms是一款基于 PHP+Mysql 架构的网站内容管理系统,也是一个开源的 PHP 开发平台。Phpcms 采用模块化方式开发,功能易用便于扩展,可面向大中型站点提供重量级网站建设解决方案。3年来,凭借 Phpcms 团队长期积累的丰富的Web开发及数据库经验和勇于创新追求完美的设计理念,使得 Phpcms 得到了近10万网站的认可,并且越来越多地被应用到大中型商业网站 <br />漏洞分析: <br /><br><div class="msgheader"><div class="right"><span style="CURSOR: pointer" class="copybut"><u>复制代码</u></span></div>代码如下:</div><div class="msgborder" id="phpcode1"> <br />ads\include\ads.class.php <br />function edit($ads, $adsid, $username = '') //110行 <br />{ <br />if(!$this-&gt;check_form($ads)) return FALSE; <br />$ads = $this-&gt;check_form($ads); <br />if(defined('IN_ADMIN')) <br />{ <br />$ads['fromdate'] = strtotime($ads['fromdate']); <br />$ads['todate'] = strtotime($ads['todate']); <br />} <br />$this-&gt;adsid = $adsid; <br />$where = ' adsid='.$this-&gt;adsid; <br />if($username) $where .= " AND username='$username'"; <br />return $this-&gt;db-&gt;update($this-&gt;table, $ads, $where); <br />} <br /></div><br />Ads\member.php <br />if(!$c_ads-&gt;edit($info, $adsid, $_username)) showmessage($c_ads-&gt;msg(), 'goback'); //47行 <br />变量$adsid没有经过处理就直接进入SQL查询,造成SQL注入。 <br /><br /><br />漏洞利用: <br /><br />1、注册普通会员账号 <br />2、预订一个广告,然后修改<br /><span class="soft_j_body"><span>
<div><img height="274" alt="" src="https://img.jbzj.com/do/uploads/allimg/100525/0002220.png" width="567" border="0" /></div>
<div>修改 adsid的值,这里是注入的地点。提交出错信息如下:<br />&nbsp;</div>
<div>&nbsp;</div>
<div><img height="158" alt="" src="https://img.jbzj.com/do/uploads/allimg/100525/0002221.png" width="606" border="0" /><br />解决方案: <br />等官方补丁或修改 <br />ads\include\ads.class.php <br />$this-&gt;adsid = intval($adsid); <br /><br />本文转自 &nbsp;黑白前线</div>
</span></span>
頁: [1]
查看完整版本: phpcms SQL注入漏洞 adsclass.php 页面过滤不严