什么是固件
固件与软件区别
固件安全重要性
常见漏洞类型
挖掘流程与思路
ARM / MIPS / RISC-V
启动流程 Bootloader
Kernel / Rootfs
Squashfs / JFFS2
固件镜像结构分析
官网 / OTA / 编程器
binwalk / firmware-mod-kit
jefferson / sasquatch
解包实战-路由器
Linux虚拟机 Ubuntu
交叉编译工具链
QEMU 用户/系统态
GDB / IDA Pro / Ghidra
file / strings
readelf / objdump
敏感信息搜索
硬编码密码/密钥
QEMU用户态模拟
系统态模拟完整固件
网络服务模拟调试
动态库依赖修复
Web管理界面
CGI脚本分析
UPnP / 自定义协议
固件更新机制
AFL / AFL++
二进制插桩
QEMU模式模糊测试
自定义协议Fuzz
源码审计
二进制逆向
危险函数识别
控制流/数据流分析
栈溢出原理
ARM/MIPS栈结构
ROP链构造
路由器CGI实战
堆溢出原理
glibc tcache/fastbin
堆利用技巧
IoT设备堆溢出
命令注入原理
ping / traceroute
绕过技巧
智能摄像头实战
格式化字符串原理
读/写内存
ARM/MIPS利用
网络打印机实战
整数溢出原理
有符号/无符号
导致堆/栈溢出
路由器整数溢出
身份认证绕过
权限提升/越权
会话管理
云平台交互逻辑
SQL注入 / XSS
CSRF / 文件包含
文件上传漏洞
路由器Web界面
UART串口调试
JTAG / SWD
SPI / I2C嗅探
Flash读写实战
HTTP/HTTPS
Telnet / SSH
自定义二进制协议
MQTT / CoAP安全
固件签名绕过
固件加解密
安全启动绕过
证书验证漏洞
App通信协议分析
App逆向 API接口
硬编码凭证
云平台API漏洞
Firmwalker
Firmadyne
EMUX / Fuzzware
自动化模糊测试
Shellcode (ARM/Thumb)
ROP链基础
ret2libc
系统调用封装
ASLR/DEP/NX绕过
Stack Canary绕过
SEHOP / SELinux
AppArmor绕过
漏洞发现 → PoC
PoC → Exploit
远程/本地利用
完整利用链实战
漏洞描述规范
复现步骤
影响评估/修复建议
CVE申请流程
OWASP IoT Top 10
NIST框架
GDPR影响
国内IoT标准
供应链攻击案例
第三方组件管理
SBOM 物料清单
安全开发生命周期
AIoT / 边缘计算
5G与固件安全
TEE 可信执行环境
固件获取 → 解包
静态/动态分析
漏洞挖掘
全流程利用
固件获取 → 解包
漏洞分析
命令注入/溢出
从零到利用