摘要
一个被标记为严重的漏洞存在于 code-projects Voting System 1.0 中。受影响的元素是文件 /admin/positions_add.php 中的一个未知函数。对参数 Description 的操作导致了 SQL 注入。此漏洞被记录为 CVE-2025-7558。攻击可远程执行。此外,存在可利用的漏洞利用程序。
详情
在 code-projects Voting System 1.0 中发现了一个漏洞,并被归类为严重。受此问题影响的是文件 /admin/positions_add.php 中的未知部分。对参数 description 的操作(使用未知输入)导致了 SQL 注入漏洞。使用 CWE 声明问题导致 CWE-89。该产品使用来自上游组件的外部影响输入构造全部或部分 SQL 命令,但在将 SQL 命令发送到下游组件时,未能中和或错误地中和可能修改预期 SQL 命令的特殊元素。受影响的是机密性、完整性和可用性。
此漏洞被处理为 CVE-2025-7558。漏洞利用已知是容易的。攻击可以远程发起。技术细节以及公开的漏洞利用程序是已知的。MITRE ATT&CK 项目将攻击技术声明为 T1505。
漏洞利用程序可用,并被声明为概念验证。通过搜索 inurl:admin/positions_add.php,可以利用 Google Hacking 找到易受攻击的目标。
没有关于可能的应对措施的信息。建议将受影响的组件替换为替代产品。
该漏洞也在漏洞数据库 EUVD(EUVD-2025-21289)中有记录。与此漏洞相关的条目可在 VDB-225935 中获得。
===========================================================================
CVE-2025-7558 的 SQL 注入 PoC。作者:i-Corner https://github.com/i-Corner
https://github.com/i-Corner/cve/issues/6
我不对此工作主张任何功劳。
CVE-2025-7558 基于 PHP 的投票系统带源代码 - 源代码与项目
易受攻击的文件:/admin/positions_add.php
代码分析
在 /admin/positions_add.php 中,用户输入的参数(例如 description 参数)被直接拼接到 SQL 语句中,导致了 SQL 注入漏洞。
$description = $_POST['description'];
$max_vote = $_POST['max_vote'];
$sql = "SELECT * FROM positions ORDER BY priority DESC LIMIT 1";
$query = $conn->query($sql);
$row = $query->fetch_assoc();
$priority = $row['priority'] + 1;
$sql = "INSERT INTO positions (description, max_vote, priority) VALUES ('$description', '$max_vote', '$priority')";
if($conn->query($sql)){
使用 sqlmap 配合 PoC.txt 和以下命令:
python .\sqlmap.py -r .\PoC.txt --dbs --batch
