关键信息摘要 漏洞概述 CVE ID: CVE-2023-38890 影响版本: SourceCoders Online Shopping Portal 3.1 漏洞类型: 远程未验证代码执行 (RCE) 通过 SQL 注入和无限制文件上传 漏洞发现与利用 1. SQL 注入 - 发现过程: 通过注入 实现未授权登录 - 根本原因: 直接拼接用户输入到 SQL 查询中,没有输入验证或转义特殊字符 - 修复建议: 使用预编译语句 (Prepared Statements) 2. 无限制文件上传 - 发现过程: 插入产品页面 (admin/insert-product.php) 允许上传恶意文件 (如 shell.php) - 根本原因: 缺乏文件扩展名验证、MIME 类型检查和文件重命名 - 修复建议: 实施严格的文件验证和重命名机制 利用过程 会话初始化: 使用 维持会话 认证绕过: SQL 注入 实现未授权登录 有效载荷生成: 生成随机产品名和 shell 名称 恶意文件上传: 构造 POST 请求上传 PHP shell 路径提取: 查找上传文件的确切路径 执行: 访问上传 shell 的 URL 执行命令 修复建议 SQL 注入修复: 使用预编译语句 文件上传修复: 实施文件扩展名验证、MIME 类型检查和文件重命名 参考信息 披露日期: 2021 年 6 月 17 日 研究人员: Tagoletta 参考链接: https://www.exploit-db.com/exploits/50029