zzzphp V1.6.0 的代码执行漏洞,模版解析功能的问题
Posted junmoxiao
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了zzzphp V1.6.0 的代码执行漏洞,模版解析功能的问题相关的知识,希望对你有一定的参考价值。
zzzphp V1.6.0 的代码执行漏洞,模版解析功能的问题
0 基础支撑功能
0.1 路由功能
0.2 模版解析
程序解析模版时,将模版中的部分内容匹配出来直接传递给了eval,且没有经过过滤
public function parserIfLabel($zcontent) { $pattern = ‘/{if:([sS]+?)}([sS]*?){ends+if}/‘; if (preg_match_all($pattern, $zcontent, $matches)) { $count = count($matches[0]); for ($i = 0; $i < $count; $i++) { $flag = ‘‘; $out_html = ‘‘; $ifstr = $matches[1][$i]; $ifstr = str_replace(‘<>‘, ‘!=‘, $ifstr); $ifstr = str_replace(‘mod‘, ‘%‘, $ifstr); $ifstr1 = cleft($ifstr, 0, 1); switch ($ifstr1) { case ‘=‘: $ifstr = ‘0‘ . $ifstr; break; case ‘{‘: case ‘[‘: $ifstr = "‘" . str_replace("=", "‘=", $ifstr); break; } $ifstr = str_replace(‘=‘, ‘==‘, $ifstr); $ifstr = str_replace(‘===‘, ‘==‘, $ifstr); @eval(‘if(‘ . $ifstr . ‘){$flag="if";}else{$flag="else";}‘); if (preg_match(‘/([sS]*)?{else}([sS]*)?/‘, $matches[2][$i], $matches2)) { // 判断是否存在else switch ($flag) { case ‘if‘: // 条件为真 if (isset($matches2[1])) { $out_html .= $matches2[1]; } break; case ‘else‘: // 条件为假 if (isset($matches2[2])) { $out_html .= $matches2[2]; } break; } } elseif ($flag == ‘if‘) { $out_html .= $matches[2][$i]; } // 无限极嵌套解析 $pattern2 = ‘/{if([0-9]):/‘; if (preg_match($pattern2, $out_html, $matches3)) { $out_html = str_replace(‘{if‘ . $matches3[1], ‘{if‘, $out_html); $out_html = str_replace(‘{else‘ . $matches3[1] . ‘}‘, ‘{else}‘, $out_html); $out_html = str_replace(‘{end if‘ . $matches3[1] . ‘}‘, ‘{end if}‘, $out_html); $out_html = $this->parserIfLabel($out_html); } // 执行替换 $zcontent = str_replace($matches[0][$i], $out_html, $zcontent); } } return $zcontent; }
1 安装
2 关于我们
3 查看列表
4 查看内容
5 查看品牌列表
6 查看品牌内容
7 留言
8 搜索
9 前台验证机制
9.1 注册
9.2 登陆
9.3 找回密码
10 会员中心
11 后台登陆
12 后台首页
12.1 显示统计信息
12.2 显示系统状态和cms状态
12.3 安全提醒
12.4 显示天气
12.5 修改创始人资料
12.6 离开一会儿
12.7 安全退出
12.8 删除全部
12.9 标签管理
13 后台关于我们
14 后台新闻中心
15 后台产品中心
16 后台案例展示
17 后台品牌列表
18 后台联系我们
19 后台内容管理
20 后台栏目扩展
21 后台模版管理
22 后台静态缓存
23 后台文件管理
24 后台用户管理
25 后台插件管理
26 后台系统管理
以上是关于zzzphp V1.6.0 的代码执行漏洞,模版解析功能的问题的主要内容,如果未能解决你的问题,请参考以下文章