网站地图    收藏   

主页 > 后端 > 网站安全 >

ShopEx某处平衡权限及修复 - 网站安全 - 自学php

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

[导读] 首先我们来看看问题出现的文件源代码:core/shop/controller/ctl.member.php文件......第1026行//删除收货地址 function delRec($addrId){ $oMem = $this-system-loadModel(#39;me......

首先我们来看看问题出现的文件源代码:
 
core/shop/controller/ctl.member.php文件
 
 
......
第1026行
//删除收货地址
    function delRec($addrId){
        $oMem = &$this->system->loadModel('member/member');
        if($oMem->delRec($addrId)){
            $this->redirect('member','receiver');
        }
        $this->_output();
    }

 

......
 
上述函数delRec,没有对addrId进行判断,直接进行删除,这样修改addrId构造而已url就能删除整站中所有用户的收获地址。
 
我们修改
http://localhost/shopex/?member-21-delRec.html中的21这个id号就可删除其他任意用户的地址。
 
 
 先看看删除111111的收获地址url:
 
 
http://localhost/shopex/?member-5-delRec.html
 
 
 
再看看删除222222的收货地址url:
 
 
http://localhost/shopex/?member-6-delRec.html
 
 
 
现在我们删除111111的5号收货地址,然后截包,更改addrId为222222的6号收货地址:
 
最后222222的6号地址被成功删除。
 

修复方案:

具体就不说了,只要把core/shop/controller/ctl.member.php文件的删除收货地址的delRec函数按照修改收获地址函数modifyReceiver同样的方法,判断此addrId是否属于此用户:
if($aRet = $oMem->getAddrById($addrId, $this->member['member_id']))

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

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

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

添加评论