罗田县升平网络工作室,一家专业从事网站建设的工作室

资讯论坛

 找回密码
 加入论坛

快捷登录

回帖中禁止出现的内容,违者将被直接永久禁止访问,删除ID处理 :1.违反法律法规 ,包括但不限于出现带有政治、色情、暴恐信息等内容;2.恶意攻击内容,包括但不限于:恶意攻击党和政府、辱骂跟帖者、攻击主题发布者、不服从论坛管理、挑衅管理者、挑战版规等;3.广告、推广内容,尤其出现带有病毒、恶意代码、广告链接等内容,包括但不限于:QQ号、文字QQ号、微信号、手机号、文字手机号、第三方网址、单位公司名称、网站名称等;4.回帖贴出该主题隐藏资源链接或其它主题隐藏资源链接的行为。
查看: 1451|回复: 0

微擎最新版SQL注入代码执行漏洞修复【/web/source/site/editor.ct...

[复制链接]

694

主题

735

帖子

1万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
19765
发表于 2019-5-14 13:40:25 | 显示全部楼层 |阅读模式
 微擎最新版 文件写 + 文件包含 => 代码执行漏洞修复【/web/source/site/editor.ctrl.php】                                                        
  


  
  1. /web/source/site/editor.ctrl.php 修改后的完整代码    直接全选修改即可
复制代码
  1. <?php
  2. /**
  3. * [WEIZAN System] Copyright (c) 2014 012WZ.COM
  4. * WEIZAN is NOT a free software, it under the license terms, visited http://www.we7.cc/ for more details.
  5. */
  6. defined('IN_IA') or exit('Access Denied');
  7. load()->model('site');

  8. $do = !empty($do) ? $do : 'page';
  9. $do = in_array($do, array('design', 'page', 'quickmenu', 'uc', 'del')) ? $do : 'page';

  10. if ($do == 'design') {
  11.         $_W['page']['title'] = '专题页面 - 微站功能';
  12.         $multiid = intval($_GPC['multiid']);
  13.         $id = intval($_GPC['id']);
  14.         if (!empty($_GPC['wapeditor'])) {
  15.                 $params = $_GPC['wapeditor']['params'];
  16.                 if (empty($params)) {
  17.                         message('请您先设计手机端页面.', referer(), 'error');
  18.                 }
  19.                 $params = json_decode(ihtml_entity_decode($params), true);
  20.                 if (empty($params)) {
  21.                         message('请您先设计手机端页面.', referer(), 'error');
  22.                 }
  23.                 $page = $params[0];
  24.                 $html = htmlspecialchars_decode($_GPC['wapeditor']['html'], ENT_QUOTES); $html = str_replace(array('<?', '<%', '<?php', '{php'), '_', $html); $html = preg_replace('/<s*?script.*(src)+/i', '_', $html);
  25.                 $data = array(
  26.                         'uniacid' => $_W['uniacid'],
  27.                         'multiid' => '0',
  28.                         'title' => $page['params']['title'],
  29.                         'description' => $page['params']['description'],
  30.                         'type' => 1,
  31.                         'status' => 1,
  32.                         'params' => json_encode($params),
  33.                         'html' => $html,
  34.                         'createtime' => TIMESTAMP,
  35.                 );
  36.                 if (empty($id)) {
  37.                         pdo_insert('site_page', $data);
  38.                         $id = pdo_insertid();
  39.                 } else {
  40.                         pdo_update('site_page', $data, array('id' => $id));
  41.                 }
  42.                 if (!empty($page['params']['keyword'])) {
  43.                         $cover = array(
  44.                                 'uniacid' => $_W['uniacid'],
  45.                                 'title' => $page['params']['title'],
  46.                                 'keyword' => $page['params']['keyword'],
  47.                                 'url' => murl('home/page', array('id' => $id), true, false),
  48.                                 'description' => $page['params']['description'],
  49.                                 'thumb' => $page['params']['thumb'],
  50.                                 'module' => 'page',
  51.                                 'multiid' => $id,
  52.                         );
  53.                         site_cover($cover);
  54.                 }
  55.                 message('页面保存成功.', url('site/editor/design', array('id' => $id, 'multiid' => $multiid)), 'success');
  56.         } else {
  57.                 $page = pdo_fetch("SELECT * FROM ".tablename('site_page')." WHERE id = :id", array(':id' => $id));
  58.                 template('site/editor');
  59.         }
  60. } elseif ($do == 'page') {
  61.         $_W['page']['title'] = '专题页面 - 微站功能';
  62.         uni_user_permission_check('site_editor_page');
  63.         $page = max(1, intval($_GPC['page']));
  64.         $pagesize = 20;
  65.         $list = pdo_fetchall("SELECT * FROM ".tablename('site_page')." WHERE type = '1' AND uniacid = :uniacid LIMIT ".(($page-1) * $pagesize).','.$pagesize, array(':uniacid' => $_W['uniacid']));
  66.         if (!empty($list)) {
  67.                 foreach ($list as &$row) {
  68.                         $row['params'] = json_decode($row['params'], true);
  69.                 }
  70.                 unset($row);
  71.         }
  72.         $total = pdo_fetchcolumn("SELECT COUNT(*) FROM ".tablename('site_page')." WHERE type = '1' AND uniacid = :uniacid", array(':uniacid' => $_W['uniacid']));
  73.         $pager = pagination($total, $page, $pagesize);
  74.         template('site/editor');
  75. } elseif ($do == 'uc') {
  76.         $_W['page']['title'] = '会员中心 - 微站功能';
  77.         uni_user_permission_check('site_editor_uc');
  78.         if (!empty($_GPC['wapeditor'])) {
  79.                 $params = $_GPC['wapeditor']['params'];
  80.                 if (empty($params)) {
  81.                         message('请您先设计手机端页面.', '', 'error');
  82.                 }
  83.                 $params = json_decode(ihtml_entity_decode($params), true);
  84.                 if (empty($params)) {
  85.                         message('请您先设计手机端页面.', '', 'error');
  86.                 }
  87.                 $page = $params[0];
  88.                 $html = htmlspecialchars_decode($_GPC['wapeditor']['html'], ENT_QUOTES); $html = str_replace(array('<?', '<%', '<?php', '{php'), '_', $html); $html = preg_replace('/<s*?script.*(src)+/i', '_', $html);
  89.                 $data = array(
  90.                         'uniacid' => $_W['uniacid'],
  91.                         'multiid' => '0',
  92.                         'title' => $page['params']['title'],
  93.                         'description' => $page['params']['description'],
  94.                         'type' => 3,
  95.                         'status' => 1,
  96.                         'params' => json_encode($params),
  97.                         'html' => $html,
  98.                         'createtime' => TIMESTAMP,
  99.                 );
  100.                 $id = pdo_fetchcolumn("SELECT id FROM ".tablename('site_page')." WHERE uniacid = :uniacid AND type = '3'", array(':uniacid' => $_W['uniacid']));
  101.                 if (empty($id)) {
  102.                         pdo_insert('site_page', $data);
  103.                         $id = pdo_insertid();
  104.                 } else {
  105.                         pdo_update('site_page', $data, array('id' => $id));
  106.                 }
  107.                 if (!empty($page['params']['keyword'])) {
  108.                         $cover = array(
  109.                                 'uniacid' => $_W['uniacid'],
  110.                                 'title' => $page['params']['title'],
  111.                                 'keyword' => $page['params']['keyword'],
  112.                                 'url' => murl('mc/home', array(), true, false),
  113.                                 'description' => $page['params']['description'],
  114.                                 'thumb' => $page['params']['cover'],
  115.                                 'module' => 'mc',
  116.                         );
  117.                         site_cover($cover);
  118.                 }
  119.                                 $nav = json_decode(ihtml_entity_decode($_GPC['wapeditor']['nav']), true);
  120.                 $ids = array(0);
  121.                 if (!empty($nav)) {
  122.                         foreach ($nav as $row) {
  123.                                 $data = array(
  124.                                         'uniacid' => $_W['uniacid'],
  125.                                         'name' => $row['name'],
  126.                                         'position' => 2,
  127.                                         'url' => $row['url'],
  128.                                         'icon' => '',
  129.                                         'css' => iserializer($row['css']),
  130.                                         'status' => 1,
  131.                                         'displayorder' => 0,
  132.                                 );
  133.                                 if (!empty($row['id'])) {
  134.                                         pdo_update('site_nav', $data, array('id' => $row['id']));
  135.                                 } else {
  136.                                         pdo_insert('site_nav', $data);
  137.                                         $row['id'] = pdo_insertid();
  138.                                 }
  139.                                 $ids[] = $row['id'];
  140.                         }
  141.                 }
  142.                 $ids_str = implode(',', $ids);
  143.                 pdo_query('DELETE FROM ' . tablename('site_nav') . " WHERE uniacid = :uniacid AND position = '2' AND id NOT IN ($ids_str)", array(':uniacid' => $_W['uniacid']));
  144.                 message('个人中心保存成功.', url('site/editor/uc'), 'success');
  145.         }
  146.         $navs = pdo_fetchall("SELECT id, icon, css, name, url FROM ".tablename('site_nav')." WHERE uniacid = :uniacid AND position = '2' ORDER BY displayorder DESC, id ASC", array(':uniacid' => $_W['uniacid']));
  147.         if(!empty($navs)) {
  148.                 foreach($navs as &$nav) {
  149.                        
  150.                         if (!empty($nav['icon'])) {
  151.                                 $nav['icon'] = tomedia($nav['icon']);
  152.                         }
  153.                         if (is_serialized($nav['css'])) {
  154.                                 $nav['css'] = iunserializer($nav['css']);
  155.                         }
  156.                         if(empty($nav['css']['icon']['icon'])) {
  157.                                 $nav['css']['icon']['icon'] = 'fa fa-external-link';
  158.                         }
  159.                 }
  160.         }
  161.         $page = pdo_fetch("SELECT * FROM ".tablename('site_page')." WHERE uniacid = :uniacid AND type = '3'", array(':uniacid' => $_W['uniacid']));
  162.         template('site/editor');
  163. } elseif ($do == 'quickmenu') {
  164.         $_W['page']['title'] = '快捷菜单 - 站点管理 - 微站功能';
  165.         $multiid = intval($_GPC['multiid']);
  166.         $type = intval($_GPC['type']) ? intval($_GPC['type']) : 2;

  167.         if ($_GPC['wapeditor']) {
  168.                 $params = $_GPC['wapeditor']['params'];
  169.                 if (empty($params)) {
  170.                         message('请您先设计手机端页面.', '', 'error');
  171.                 }
  172.                 $params = json_decode(html_entity_decode(urldecode($params)), true);
  173.                 if (empty($params)) {
  174.                         message('请您先设计手机端页面.', '', 'error');
  175.                 }
  176.                 $html = htmlspecialchars_decode($_GPC['wapeditor']['html'], ENT_QUOTES); $html = str_replace(array('<?', '<%', '<?php', '{php'), '_', $html); $html = preg_replace('/<s*?script.*(src)+/i', '_', $html);
  177.                 $data = array(
  178.                         'uniacid' => $_W['uniacid'],
  179.                         'multiid' => $multiid,
  180.                         'title' => '底部菜单',
  181.                         'description' => '',
  182.                         'status' => intval($_GPC['status']),
  183.                         'type' => $type,
  184.                         'params' => json_encode($params),
  185.                         'html' => $html,
  186.                         'createtime' => TIMESTAMP,
  187.                 );
  188.                 if ($type == '4') {
  189.                         $id = pdo_fetchcolumn("SELECT id FROM ".tablename('site_page')." WHERE uniacid = :uniacid AND type = :type", array(':uniacid' => $_W['uniacid'], ':type' => $type));
  190.                 } else {
  191.                         $id = pdo_fetchcolumn("SELECT id FROM ".tablename('site_page')." WHERE multiid = :multiid AND type = :type", array(':multiid' => $multiid, ':type' => $type));
  192.                 }
  193.                 if (!empty($id)) {
  194.                         pdo_update('site_page', $data, array('id' => $id));
  195.                 } else {
  196.                         if ($type == 4) {
  197.                                 $data['status'] = 1;
  198.                         }
  199.                         pdo_insert('site_page', $data);
  200.                         $id = pdo_insertid();
  201.                 }
  202.                 message('底部菜单保存成功.', url('site/editor/quickmenu', array('multiid' => $multiid, 'type' => $type)), 'success');
  203.         }
  204.         if ($type == '4') {
  205.                 $page = pdo_fetch("SELECT * FROM ".tablename('site_page')." WHERE type = :type AND uniacid = :uniacid", array(':type' => $type, ':uniacid' => $_W['uniacid']));
  206.         } else {
  207.                 $page = pdo_fetch("SELECT * FROM ".tablename('site_page')." WHERE multiid = :multiid AND type = :type", array(':multiid' => $multiid, ':type' => $type));
  208.         }
  209.         $modules = uni_modules();
  210.         template('site/editor');
  211. }  elseif ($do == 'del') {
  212.         $id = intval($_GPC['id']);
  213.         pdo_delete('site_page', array('id' => $id, 'uniacid' => $_W['uniacid']));
  214.         site_cover_delete($id);
  215.         message('删除微页面成功', referer(), 'success');
  216. }
复制代码

打赏鼓励一下!
回复

使用道具 举报

回帖中禁止出现的内容,违者将被直接永久禁止访问,删除ID处理 :1.违反法律法规 ,包括但不限于出现带有政治、色情、暴恐信息等内容;2.恶意攻击内容,包括但不限于:恶意攻击党和政府、辱骂跟帖者、攻击主题发布者、不服从论坛管理、挑衅管理者、挑战版规等;3.广告、推广内容,尤其出现带有病毒、恶意代码、广告链接等内容,包括但不限于:QQ号、文字QQ号、微信号、手机号、文字手机号、第三方网址、单位公司名称、网站名称等;4.回帖贴出该主题隐藏资源链接或其它主题隐藏资源链接的行为。

浏览排行

(38463)2019-11-5 公共云钱包资金盘骗局揭秘: 网络传销+原始股骗局合体!

(22233)2019-12-20 12月17日 邓智天法院直播庭审疑问全解答!

(20722)2019-12-1 环保币GEC资金盘骗局最新消息: 即将崩盘!

(17244)2019-11-9 巨胸肥臀大长腿,嫩模糯美子真人COS不知火舞福利污图

(15868)2018-12-24 罗田县人民法院公布【第五批失信被执行人名单】 ...

(14972)2019-11-3 曝光!PTFX已经崩盘跑路,投资者血流成河!

(13018)2019-8-7 湖北电力网上缴费,支付宝绑定户号的初始密码是什么?

(12480)2018-10-17 罗田县人民政府“12345”市民服务热线服务指南

(11170)2019-12-11 公安定性了, 趣码是非法传销! 趣码怎么退回365元?

(11081)2019-12-15 满足你对女同事的幻想 风骚秘书阿朱销魂眼神勾魂摄魄

最新发表

[升平网络工作室]2025-8-23 [2025-08-23]罗田天气预报

[升平网络工作室]2025-8-23 西藏自治区成立60周年庆祝大会隆重举行 习近平出席大会

[升平网络工作室]2025-8-23 县委委员会召开查摆问题整改整治情况汇报会

[爱查小程序]2025-8-22 [爱查]在线听音乐操作说明

[升平网络工作室]2025-8-22 [2025-08-22]罗田天气预报

[升平网络工作室]2025-8-22 习近平率中央代表团抵达拉萨出席西藏自治区成立60周年庆祝活动

[升平网络工作室]2025-8-22 县关工委联合经济开发区开展“情系学子”助学活动 助力职工子女圆梦大学

[升平网络工作室]2025-8-21 2025年罗田县卫健系统赴高校公开招聘事业单位工作人员拟聘用人员公示公告

[升平网络工作室]2025-8-21 [2025-08-21]罗田天气预报

[升平网络工作室]2025-8-21 县安防委2025年度第三次全体(扩大)会召开

QQ|Archiver|手机版|小黑屋|资讯论坛BBS.SPW8.CN ( 鄂ICP备2021011341号-3 )|网站地图


手机扫一扫继续访问
[免责声明]
本站系本网编辑转载,转载目的在于传递更多信息,并不代表本网赞同其观点和对其真实性负责。
如涉及作品内容、版权和其它问题,请在30日内与本网联系,我们将在第一时间删除内容!
[声明]本站文章版权归原作者所有 内容为作者个人观点 本站只提供参考并不构成任何投资及应用建议。

进入社区 | 发表新帖 | 百度收录 |
技术提供:罗田县升平网络工作室
站长Email:admin@spw8.cn
投诉电话(刮开查看):15374567400

GMT+8, 2025-8-23 19:29 , Processed in 0.228625 second(s), 29 queries .

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表