协议介绍 UPnP背景知识 UPnP, Universal Plug and Play,中文是 “通用即插即用”。在理解 UPnP 之前,我们先了解一下传统的 PnP 技术,因为 UPnP 是对于传统 PnP(即插即用)概念的扩展。 传统的 PnP “即插即用”是指 PC 电脑在添加硬件设备时可以自动处理的一种标准。在 PnP 技术出现以前,当需要为 PC 电脑安装新的硬件(比如:声卡,CD-ROM,打印机)时,这些设备需要用到 PC 电脑的 DMA 和 IRQ 等资源,为了避免硬件设…
esp32ctf_thu/attachment at main · xuanxuanblingbling/esp32ctf_thu · GitHub 一个以ESP32为底座的新手向CTF IoT赛题,包括基本的硬件操作,串口调试,网络通信,WIFI,蓝牙,MQTT,固件提取等,总共13个flag。 烧录 驱动安装 windows11安装cp210x驱动-CSDN博客 esp-idf安装 https://dl.espressif.com/dl/esp-idf 按照提示傻瓜式安装即可,注意下载4.2…
学习自BLE_CTF低功耗蓝牙CTF挑战 环境搭建 项目地址:ble_ctf · github 首先你需要淘宝购买一块ESP32的板子,随便买一块就行了 然后在kali虚拟机里输入如下命令(注意wsl不行,因为串口无法连接到wsl里面,还是虚拟机好一些) pip config set global.index-url https://pypi.tuna.tsinghua.edu.cn/simple pip install esptool 首先得安装 esptool 用来烧录 esp32 git …
reboot https://github.com/BYU-CSA/BYUCTF-2024 题目把flag放在一个随机目录下 然后题目的server存在一个命令拼接漏洞,直接第一次set hostname的时候,把hostname设置成;/bin/bash;第二次即可拿到shell 有shell了想要找到一个flag路径就不多说了 Sal https://github.com/BYU-CSA/BYUCTF-2024 external flash memory chip(外部存储芯片) 一般用来存…
学习文章来源于[RTOS] 基于VxWorks的TP-Link路由器固件的通用解压与修复思路 - 赤道企鹅的博客 | Eqqie Blog 固件来源 传送门:TL-WDR7660千兆版 V1.0升级软件20190830_2.0.30 固件下载链接:https://service.tp-link.com.cn/download/20207/TL-WDR7660%E5%8D%83%E5%85%86%E7%89%88%20V1.0%E5%8D%87%E7%BA%A7%E8%BD%AF%E4%BB%B6…
本文首发于先知社区:https://xz.aliyun.com/news/17415 赛后总结发现这是一个漏洞百出的题,有各种各样的打法,这里我的打法是基于patch的结果来写的,下面就详细说一下 题目分析 题目是2.31的libc,不是传统的增删改查,出题思路是一个文件上传后压缩解压的功能,但实际上就是增删查都齐全,没有传统意义上的改 upload对应的是增,release对应的是删,download对应的是查,encode,decode需要逆向分析一下 首先看upload 这里要输入一个in…
虽然是新生赛,但这个题个人觉得并不水,是一个挺有意思的httpd,感觉出题参考了西湖论剑里的一道题,原理也是base64解码溢出,题目的源码应该是改编自tinyhttpd这个开源项目,下面一起来逆向分析一下 首先创建一个端口,然后开启监听,每次接收到数据包就创建新的线程处理数据包,处理函数是accept_request函数。 进入accept_request函数,我们继续进行分析 前面就是在做一些检查,判断当前请求的类型,然后把请求路径拼接进去,并且判断了路径中是否存在"..",避免了路径穿越,…
什么是栈迁移 所谓栈迁移,一般而言,是在栈溢出量很小(一般只能溢出到返回地址处),无法打一个完整的ROP链的情况下,利用两次leave ret,将栈帧位置改变到我可控的地址上,在这个地址上我预先已经写好了一段payload,于是在栈迁移过后程序就会继续执行我预先在别处布置好的payload,那么接下来我们就好好地来解释一下栈迁移的原理是什么 栈迁移的原理 首先,我们编写一个demo函数,来展示一个程序栈帧的建立与消亡过成 void demo() { char buf[0x20]; ret…
最近在做有关无人机视觉的项目,由于superpoint网络和ros系统的联动比较困难复杂,故最后决定直接将superpoint的代码集成到C++里,用C++直接去调用,省去了节点之间通信的繁琐,故在此记录一下我一点一点摸索的历程。 什么是PyObject? 在一切的开始,你务必要知道什么是PyObject,简单来说,一切python里的东西都是PyObject,无论你是想要传参,还是接受返回值,还是调用某个函数,某个类等等,他们都是PyObject,你也必须用一个PyObject类型的指针来接受…
这篇文章受密码保护,输入密码才能阅读