IOT | 无人机(第一期)

IOT | 无人机(第一期)

前言

现在无人机正朝着**小型化、智能化、集群化**快速发展,AI、远程通信等技术不断成熟,让它从普通工具变成很多场景的核心装备,在巡检、物流、救援等行业广泛应用。 实际需求也推动着技术不断升级,无人机作业更自主高效,对应的安全管控和防护体系也在完善,通过智能识别、分级处置等方式保障安全,整个无人机领域正朝着更智能、更系统化的方向发展。

这一专题我们会在无人机靶场Damn Vulnerable Drone进行试验,同时学习最基本的原理和思路方法,后期本专栏会开设真实无人机下的攻防实验,那么我们就此开始吧。

注:本文仅供合法授权范围内的安全研究使用,请遵循相关法律法规,不得用于未授权的入侵、破坏或干扰行为。

实验资源

无人机靶场Damn Vulnerable Drone下载地址:https://github.com/nicholasaleks/Damn-Vulnerable-Dronehttps://github.com/nicholasaleks/Damn-Vulnerable-Drone
https://mp.weixin.qq.com/s/nEJYW8f_Yk-k7zoXrDSXvQhttps://mp.weixin.qq.com/s/nEJYW8f_Yk-k7zoXrDSXvQ可以参照如上资源进行环境搭建

信息收集与服务脆弱性探测

1.启动靶场
启动Damn Vulnerable Drone靶场
sudo ./start.sh --wifi wep --mode full //WiFi Mode – Fully Deployed

但是这里我用的是Non-WiFi Mode
后面会有一定区别,只不过是ip地址换一下就可,指令格式是不变的

2.nmap进行信息探测
1.ip addr show  //检查是否与Docker的桥网连接上,得到Docker Bridge Network

2.nmap -sn 10.13.0.0/24 --exclude 10.13.0.1,10.13.0.5  //查看所有存活主机

3.nmap 10.13.0.0/24 -p 1-16000 --exclude 10.13.0.1,10.13.0.5 //探测UAV

特别注意这些端口:14550, 5760, 14580等,暗示可能是无人机或者地面站
开了wifi mode的指令

nmap -sn 192.168.13.0/24 --exclude 192.168.13.10

nmap 192.168.13.0/24 -p 1-16000 --exclude 192.168.13.10

我们猜测10.13.0.3可能是个无人机--开了rtsp(流媒体传输协议),ppp服务和ssh

我们并没有在其余两个端口发现什么开放的服务端口,但是从上帝视角出发,我们知道地面站与无人机是在同一网段进行通信的,因此这两个IP一定有一个是地面站。我们可以用wireshark来抓包,或者直接nmap查看MAVlink常见的端口来进行扫描验证。

这里我们直接nmap

sudo nmap -sU -p 14550,14540,5760,5762,5763,14549,14569,14580 10.13.0.2

sudo nmap -sU -p 14550,14540,5760,5762,5763,14549,14569,14580 10.13.0.4

判断10.13.0.4为地面站

同理也可用wireshark

3.服务脆弱性探测

SSH

nmap -p22 -sV -sC 192.168.13.1

我这里没显示出来version之类的信息,应该是nmap出了点问题,但是应用思路很简单——找到相应版本的ssh服务的CVE信息,利用现有Poc来进行渗透;或者用Hydra来进行弱口令爆破

RTSP(流媒体服务)

nmap -p 554 --script rtsp-url-brute, rtsp-methods 10.13.0.3

找到rtsp://10.13.0.3/stream1接口

ffprobe rtsp://10.13.0.3/stream1

//这里我的源没配好,所以安装ffmpeg失败,后期将截图加上

ffplay rtsp://192.168.13.1/stream1

//可以直接未授权访问

PPP

curl -v 192.168.13.1:3000  //直接HTTP访问

whatweb 192.168.13.1:3000

发现可以登录的入口

到这一步就可用web常用的方式(Hydra,漏洞CVE等)来进行爆破/绕过来进行夺权,web师傅们应该比较熟悉


第一篇写的多有不足,尽情见谅🙏

Read more

前端文件上传处理:别再让用户等待了!

前端文件上传处理:别再让用户等待了! 毒舌时刻 文件上传?听起来就像是前端工程师为了显得自己很专业而特意搞的一套复杂流程。你以为随便加个input[type=file]就能实现文件上传?别做梦了!到时候你会发现,大文件上传会导致页面崩溃,用户体验极差。 你以为FormData就能解决所有问题?别天真了!FormData在处理大文件时会导致内存溢出,而且无法显示上传进度。还有那些所谓的文件上传库,看起来高大上,用起来却各种问题。 为什么你需要这个 1. 用户体验:良好的文件上传处理可以提高用户体验,减少用户等待时间。 2. 性能优化:合理的文件上传策略可以减少服务器负担,提高上传速度。 3. 错误处理:完善的错误处理可以避免上传失败时的用户困惑。 4. 安全保障:安全的文件上传处理可以防止恶意文件上传,保障系统安全。 5. 功能丰富:支持多文件上传、拖拽上传、进度显示等功能,满足不同场景的需求。 反面教材 // 1. 简单文件上传 <input type="file&

飞算 JavaAI 使用体验全解析

飞算 JavaAI 使用体验全解析

博客目录 * 一、前言与背景 * 二、什么是飞算 JavaAI? * 主要特点 * 三、安装与配置 * 1. 从 IDEA 插件市场安装 * 2. 离线安装 * 3. 配置与激活 * 四、核心功能与使用体验 * 1. 智能开发全流程引导 * (1) 需求分析 * (2) 接口设计 * (3) 表结构设计 * (4) 处理逻辑梳理 * (5) 源码生成与合并 * 2. 其他实用功能 * (1) Java Chat * (2) 智能问答 * (3) SQL Chat * 五、与主流 AI 编程助手对比 * 六、个人体验与建议 * 建议 一、前言与背景

Rust WebAssembly与Three.js结合的3D数据可视化实战:高性能粒子系统

Rust WebAssembly与Three.js结合的3D数据可视化实战:高性能粒子系统

Rust WebAssembly与Three.js结合的3D数据可视化实战:高性能粒子系统 一、引言 💡3D数据可视化是现代Web应用的高级场景之一,广泛应用于数据分析、科学计算、游戏开发、虚拟仿真等领域。传统的JavaScript+WebGL/Three.js方案在处理大量数据(如百万级粒子)时,性能往往难以满足要求。Rust WebAssembly的高性能和内存安全特性,使得它非常适合优化3D数据可视化的核心算法,提高应用的响应速度和渲染帧率。 本章将深入探讨Rust WebAssembly与Three.js结合的3D数据可视化开发,介绍WebGL/Three.js的基本概念,讲解Rust Wasm与WebGL的交互方式,重点实现一个高性能粒子系统,支持粒子的创建、更新、删除,以及各种动画效果。最后,本章还将介绍如何优化粒子系统的性能,如何打包和部署项目。 二、WebGL与Three.js基础 2.1 WebGL概述 WebGL是一种基于OpenGL ES的Web图形库,允许开发者在Web浏览器中使用GPU加速渲染3D图形。WebGL的核心是着色器语言(GLSL)

人工智能:注意力机制与Transformer模型实战

人工智能:注意力机制与Transformer模型实战

人工智能:注意力机制与Transformer模型实战 1.1 本章学习目标与重点 💡 学习目标:掌握注意力机制的核心原理、经典注意力算法,以及Transformer模型的架构设计与实战应用。 💡 学习重点:理解自注意力与多头注意力的计算逻辑,学会使用TensorFlow搭建Transformer模型,完成机器翻译任务。 1.2 注意力机制的核心思想 1.2.1 为什么需要注意力机制 💡 传统的RNN和LSTM在处理长序列时,存在长距离依赖捕捉能力不足和并行计算效率低的问题。注意力机制的出现,解决了这两个核心痛点。 注意力机制的本质是让模型学会“聚焦”——在处理序列数据时,自动分配不同的权重给输入序列中的各个元素,重点关注与当前任务相关的信息,弱化无关信息的干扰。 比如在机器翻译任务中,翻译“我爱中国”时,模型会给“我”“爱”“中国”分配不同的注意力权重,从而更精准地生成对应的英文翻译。 1.2.2 注意力机制的基本框架 💡 注意力机制的计算通常包含**查询(Query)、键(Key)、值(