Victor CMS 二次注入漏洞(CVE-2022-26201)
*一、漏洞概述 **
*1.1 漏洞简介*
·漏洞名称:Victor CMS 二次注入漏洞
·漏洞编号:CVE-2022-26201
·漏洞类型:二次注入漏洞
·漏洞威胁等级:超危
·影响范围:Victor CMS v1.0
·利用条件:默认配置
*1.2 组件描述*
Victor CMS是尼日利亚Victor Alagwu个人开发者的一套开源的内容管理系统
*1.3 漏洞描述*
Victor CMS 中存在SQL注入漏洞,该漏洞源于产品未对用户输入数据中的特殊字符做有效处理或转义。攻击者可通过该漏洞执行恶意SQL语句。以下产品及版本受到影响:Victor CMS v1.0 版本。
*二、漏洞复现*
*2.1 应用协议*
http
*2.2 环境搭建*
1.下载源码到本地:https://codeload.github.com/VictorAlagwu/CMSsite/zip/refs/heads/master
2.提前导入数据.sql文件
*2.3 漏洞复现 **
1.登录后台(Victor/victor)
2.点击view all categories
3.漏洞点
4.插入sql payload
'),(concat(database(),version())-- -
*三、漏洞分析*
*3.1 技术背景*
\
*3.2 代码分析*
首先POST提交表单,调用函数insert_category(),在函数中,$add_category_query = "INSERT INTO categories(cat_title) VALUES ('{$cat_title}')";
语句接收$cat_title并未过滤,单引号、右括号闭合,即可插入sql注入语句,运用insert语句完成二次注入
#/admin/categories.php
<?php
insert_category();
?>
<div class="row">
<div class="col-xs-6">
<form method="POST" action="" role="form">
<div class="form-group">
<label for="cat_title">Add Category</label>
<input type="text" name="cat_title" class="form-control">
</div>
<div class="form-group">
<button type="submit" name="submit" class="btn btn-primary">Add Category</button>
</div>
</form>
#/admin/crud_cat_function.php
function insert_category() {
global $con;
if (isset($_POST['submit'])) {
$cat_title = $_POST['cat_title'];
if ($cat_title == "" || empty($cat_title)) {
echo "Please input category";
} else {
//--ADDING QUERY---
$add_category_query = "INSERT INTO categories(cat_title) VALUES ('{$cat_title}')";
$run_add_category_query = mysqli_query($con, $add_category_query);
header('Location: categories.php');
if (!$run_add_category_query) {
die('Error processing query');
}
}
}
}
*3.3 流量分析 **
POST请求,漏洞url:/admin/categories.php
,参数cat_title后跟随恶意sql语句,响应包的状态码为302 Found,在响应体中td标签会出现敏感信息
*3.4 绕过方式*
单引号右括号闭合,跟随sql语句,结尾-- -注释后面语句
*四、漏洞检测*
*4.1 组件版本自检*
以下版本受该漏洞影响:v1.0
目前最高版本:v1.0
*4.2 研判建议 **
在本地测试,观察是否能查出敏感信息
*五、防范建议*
*5.1 官方修复建议*
未修复
*5.2 临时修复建议*
写入过滤规则,黑名单等
六、*参考链接*
源码下载url:https://codeload.github.com/VictorAlagwu/CMSsite/zip/refs/heads/master