Skip to content
KitploitKITPLOIT
工具漏洞利用博客
Log in
提交
工具漏洞利用博客
提交

黑客、渗透测试和网络安全工具,武装您的安全武器库!

Kitploit 是一个黑客、网络安全和渗透测试工具的目录。发现最新的项目更新,查找漏洞、分析系统、自动化测试并加强你的安全。

订阅源联系隐私© 2026 Kitploit

工具目录

分类

查看所有分类
Loading categories
CVE-2026-78306 — 针对DJI无人机蓝牙DUML命令注入的漏洞利用概念验证,可发送未认证命令以读取凭据、修改Wi-Fi配置并控制飞行器系统。 | Kitploit
工具/GitHubGitHub/wh02m1/cve-2026-78306
嵌入式系统安全蓝牙安全物联网安全Payload生成漏洞分析漏洞利用无线安全渗透测试硬件与物联网安全
GitHubwh02m1/cve-2026-78306

CVE-2026-78306

针对DJI无人机蓝牙DUML命令注入的漏洞利用概念验证,可发送未认证命令以读取凭据、修改Wi-Fi配置并控制飞行器系统。

2171141个月前Kitploit 审核通过

最受欢迎

查看全部 →

发现我们社区最常用的工具。

探索所有工具

浏览我们的工具集合

查看所有工具 →
分享
查看仓库

CVE-2026-78306 — DJI 无人机通过蓝牙的 DUML 命令注入 POC

CVE-2026-78306

CVE 记录: https://www.cve.org/CVERecord?id=CVE-2026-78306

NVD: https://nvd.nist.gov/vuln/detail/CVE-2026-78306

image

描述

DJI 无人机暴露了一个蓝牙接口,用于建立与无人机 Wi-Fi 接口的连接并交换 Wi-Fi 凭据

该蓝牙接口会针对三个命令检查设备的受信任 UUID:

  • 获取 Wifi SSID
  • 获取 Wifi 密码
  • 获取 Wifi MAC 地址

其余命令不需要相同的身份验证检查。因此,处于蓝牙范围内的远程攻击者可能能够向无人机发送未经授权的 DUML 命令。

根据命令的不同,攻击者可能能够修改无人机的配置,包括更改 Wi-Fi 密码并可能获得对无人机内部网络的访问权限;启用或禁用无线电接口;重启或关闭飞行器;重置配置,从而清除无人机拍摄的所有视频和照片;以及执行其他操作。

注意: 该漏洞利用目前在通过 Wi-Fi 控制无人机时可在飞行中生效,而在通过无线电控制无人机时则在地面/无人机着陆时生效。

受影响产品

产品受影响版本
DJI Neo0 – 01.00.0400
DJI Neo 20 – 01.00.0500
DJI Flip0 – 01.00.1200
DJI Air 30 – 01.00.1600
DJI Air 3S0 – 01.00.1400
DJI Avata 20 – 01.00.0400
DJI Avata 3600 – 01.00.0300
DJI Mavic 30 – 01.00.1400
DJI Mavic 3 Classic0 – 01.00.0800
DJI Mavic 3 Pro0 – 01.01.0700
DJI Mavic 4 Pro0 – 01.00.0500
DJI Mini 20 – 01.07.0200
DJI Mini 30 – 01.00.0500
DJI Mini 3 Pro0 – 01.00.0900
DJI Mini 4 Pro0 – 01.00.1100
DJI Mini 5 Pro0 – 01.00.0600

演示

https://github.com/user-attachments/assets/57f51df2-5160-404c-9fd3-2a3a8b700008

安装

1. 安装 POC

# Clone the repository
git clone https://github.com/Wh02m1/CVE-2026-78306.git
cd CVE-2026-78306-POC

# Create and activate a Python virtual environment
python3 -m venv venv
source venv/bin/activate

# Install dependencies
pip install -r requirements.txt

2. 给无人机通电

3. 运行 POC

python3 ble_console.py

4. 扫描后选择无人机 SSID

命令参考

以下命令在 commands.json 中注册,并直接由该文件生成。标记为 danger 的命令在发送前需要显式确认。

读取命令

命令功能说明
GET WiFi SSID [AUTH]获取已配置的 Wi-Fi SSID。需要可信 UUID。
GET WiFi Password [AUTH]获取 Wi-Fi WPA2 预共享密钥。需要可信 UUID。
GET WiFi MAC address [AUTH]获取 Wi-Fi AP MAC 地址。需要可信 UUID。
GET Country Code获取两位字母的监管国家代码。
GET Channel获取当前活动的 Wi-Fi 信道。
GET Band获取已配置的 2.4/5 GHz 频段选择。
GET RSSI [stub]查询 RSSI 处理程序;此构建返回一个占位值。
GET WiFi/BT status获取 Wi-Fi 和蓝牙无线电状态。
GET Version获取固件版本字符串。

写入配置命令

命令功能说明
SET NEW WiFi SSID更改已配置的 Wi-Fi SSID。
SET NEW WiFi Password更改已配置的 Wi-Fi 密码。
SET NEW WiFi MAC Address更改运行时 Wi-Fi BSSID 配置。
SET NEW Country Code更改已配置的监管国家代码。
SET NEW Country Code Ext处理扩展国家代码配置。
SET NEW Channel更改 Wi-Fi 信道并导致 AP 重启。

这些操作在 POC 中被归类为 danger,因此发送前需要显式确认。

无线电控制命令

命令功能说明
Start WiFi启动 Wi-Fi 接口。
Stop WiFi停止 Wi-Fi 接口。
Restart WiFi + Bluetooth重启 Wi-Fi 和蓝牙无线电。
Start Bluetooth启动蓝牙无线电。
Stop Bluetooth停止蓝牙无线电并终止当前会话。
Sysmode power control控制 Wi-Fi/蓝牙无线电电源状态。

重置命令

命令功能说明
Factory Reset WIFI将 Wi-Fi 配置恢复为默认状态。
Factory Restore Params将网络配置恢复为出厂默认值。

POC 将这两项操作标记为危险,因为它们会修改持久化配置。

系统命令

命令功能说明
Start The Drone FTP server启动飞行器的 FTP 服务。
Enable Storage Export启用存储导出。
Disable Storage Export禁用存储导出。
reboot The Drone重启飞行器。
poweroff The Drone关闭飞行器电源(需要物理接触才能重新开机)。
powersave mode The Drone将飞行器置于省电模式。

遥控器 DoS 命令

命令功能说明
Start Remote Controller DoS遥控器拒绝服务序列的第一步;使飞行器进入断开步骤所需的状态。
Stop Remote Controller DoS完成该序列:飞行器停止服务遥控器链路,因此遥控器失去与飞行器的连接。请事先运行第一步。
Remote Controller Recover尝试使飞行器恢复正常运行。

参数命令

命令功能说明
Change a parameter使用参数的 32 位名称哈希更改无人机配置参数。
Reset a parameter将配置参数重置为其固件默认值。

POC 从 flyc_parameters.txt 获取参数名称,并提供交互式参数选择。要添加希望修改或重置的已知参数,请将其名称添加到 flyc_parameters.txt。启动 POC 后,该参数即可供选择。

确认界面

归类为 danger 的命令在发送前需要显式确认。

确认界面显示的信息包括:

──────────────────────────────────────────────────────────────────────
  !!!  DANGEROUS COMMAND  !!!
──────────────────────────────────────────────────────────────────────
 COMMAND    Factory Reset WIFI
 ROUTE      07/0f → 0x07
 PAYLOAD    (none)
 DOES       resets the Wi-Fi config and regenerates the PSK
 WARNING    Disconnects every device currently on the drone's Wi-Fi.
──────────────────────────────────────────────────────────────────────
 Type YES to send:

参数

Change a parameter 函数提供对 flyc_parameters.txt 中列出的已知配置参数的访问。

Reset a parameter 使用 reset_cfg_item 将所选参数恢复为其固件默认值。

有关提取参数的完整列表及更多详细信息,请参阅 FLYC Parameters wiki 页面。


宏

该 POC 还提供了若干预定义宏:

命令描述
Restart Wifi停止并启动 Wi-Fi(0x42 后跟 0x41)。
SET NEW PSK + Restart wifi更改 PSK,然后重启 Wi-Fi。
Probe read commands发送已注册的读取命令,并报告哪些命令有响应。

这些宏与各个命令条目分开定义。


⚠️ 免责声明

⚠️ 警告:本概念验证严格用于教育、安全研究和经授权的渗透测试目的。

本 POC 演示了 DJI 蓝牙/DUML 命令处理接口中的安全问题。某些命令可能会修改设备配置、禁用无线电接口、中断连接、重启或关闭飞行器、重置配置或删除存储的数据。

⚠️ 请勿对任何您不拥有或未获得明确测试授权的飞行器、设备、网络或系统使用本 POC。

某些命令可能导致数据丢失、配置更改、连接中断、设备中断或其他意外后果。测试应仅在受控环境中进行,确保飞行器及周围人员和财产不面临风险。

作者不对因使用或滥用本 POC 而导致的任何损害、数据丢失、服务中断、飞行器运行或其他后果承担责任。

⚠️ 使用本 POC 即表示您接受确保测试获得授权并遵守所有适用法律、法规和负责任披露要求的责任。

下载工具