汇编程序设计
《第四章》主要涉及程序设计时需要用到的知识,包括伪指令、内存单元的访问、寻址方式、数据的处理、多个段的处理等
栈迁移
当可溢出的空间不足以让我们构造 ROP 时,可以考虑将栈迁移到别的地方去构造 payload 从而 getshell,或者利用 RBP 实现任意地址的读写,这就是栈迁移
IDA中加密算法特征与解密
根据函数的特点,快速识别 IDA 伪代码里的加密方法
【攻防世界】BABYRE
攻防世界的一道 SMC 代码自修改题,可以使用 IDA 脚本和动态调试绕过,感觉还是比较经典的,记录一下
U盘重装系统以及Ubuntu与Windows双系统
由于近期跑实验需要 Linux 环境,在服务器上配环境改代码又很不方便,毕竟不止我一个人在用,虚拟机配置 CUDA 始终没有好的办法解决,因此只能考虑双系统了,顺便记录一下所有重装系统相关的操作吧,分享给小白选手
IDA的基础和远程调试
涉及 IDA 的一些基础知识,快速入门,包括 IDA 在 Windows 和 Linux 平台下的安装,以及如何在 Windows 平台使用 IDA 远程调试 Linux 程序
Ubuntu22.04虚拟机环境搭建
为 Ubuntu 22.04 和 Kali 2022.4 配置 CTF PWN 环境以及其他基本环境(目前也补充了 Ubuntu 24.04),涵盖大部分常用功能,照着敲就完事了,迅速搭建一台完善的 Linux 虚拟机,非常的方便~~
Ubuntu16.04虚拟机环境搭建
由于 Ubuntu 16.04 环境比较老,导致 2023 年 Ubuntu 22.04 下的许多 PWN 环境搭建并不适用于 16.04,所以出了一个专门针对 16.04 的环境配置教程,并对与 22.04 中不同的地方专门做了讲解和处理
AFL++环境搭建与模糊测试
涉及到 AFL++ 的环境搭建和一些基础的 Fuzz 操作,算作是使用 Fuzz 进行漏洞挖掘的入门吧,CTF 通常是单个程序因此不常使用 Fuzz,但是在现实的大项目中 Fuzz 是很好用的利器
Bypass安全机制
主要介绍里一些如何 Bypass 一些常见安全机制的方法,例如绕过 Canary、PIE 等等
【NSSCTF】jump_by_jump_revenge
也是一个花指令,上一篇的方法还真好使,但这个正向爆破有两个变量,先化简一下
GDB的基础和使用
关于 GDB 的一些基础,包括如何安装配置、如何使用,以及如何使用脚本自动切换不同插件,本文的 GDB安装主要基于 2022 新版本的 Ubuntu 和 Kali,如果是 Ubuntu 16.04 这样的老版本,请参照《Ubuntu16.04虚拟机PWN环境搭建》一文
【攻防世界】level0
经典的栈溢出,跳转到后门函数的位置,比较简单,熟悉了 system("/bin/sh") 的原理
【ISCC 2023】Login
2023 ISCC 的一道题,其实就是一个 ret2libc,但是有许多小细节需要注意:存在 libc 版本的问题,libc 版本会影响到偏移量的计算,如果本地是 glibc 2.27 以上(Ubuntu 18.04 以上),需要注意堆栈平衡,同时要结合动态调试来确定程序泄露的具体函数名
【攻防世界】level2
发现程序中有 /bin/sh,利用 PLT 表找到 system 函数的地址,然后给 system 函数构造参数来执行
PWN中Glibc导致的偏移地址问题
对于程序中没有 system 函数与 "/bin/sh" 的情况,我们通常需要使用到 libc,通过计算 libc 偏移来获取 system 函数与 "/bin/sh" 的地址,但是有时会发现同样的 exp 为什么无法 getshell?因为 libc 版本不一致,导致计算出来的偏移是错误的
PWN中Glibc引起的64位程序的堆栈平衡
在学习 PWN 的栈溢出漏洞 ROP 时遇到 ret2text 类题目,通过构造 payload 进行 system 调用将 "/bin/sh" 作为参数来获取 shell,32 位与 64 位除了传参方式不一样,有时 64 位还需要额外加上一个 ret 地址来 getshell,否则无法打通,这就是堆栈平衡引起的
从物理机拖到Linux虚拟机中的文件消失了?
有时候明明安装了 VMtools,却发现文件有时还是无法拖进 Linux 虚拟机,或者拖进虚拟机后文件却并没有出现在对应的文件夹里,不要慌,其实虚拟机没有问题,只需要简单操作一下
Android逆向与动态调试
总结一下安卓逆向中的一些知识点,包括如何静态分析安卓程序,以及如何使用 IDA 来动态调试安卓程序的 so 文件
CTF逆向中的脚本
总结了一些做逆向题时,编写脚本可能会用到的便捷算法,争取快人一步
VM虚拟机显示 “未能开启xxx.vmx”
打开 VMware 虚拟机时突然显示 “未能开启 xxx.vmx” ,致使虚拟机无法开机的解决办法
Ubuntu虚拟机网络图标消失
有时候 VM 会有个离奇的 bug,你的网络可能会在某个不经意间就消失了,不仅网络图标没了,连设置里都找不到整个网络模块了,瞬间进入单机时代。。。
记录一些VM虚拟机磁盘压缩回收与拆分合并
一些关于 VMware Workstation 虚拟机磁盘的操作,如磁盘压缩、拆分、合并和导出等,可以减少物理机空间浪费,以及缓解强迫症。。。
IOT环境搭建与固件分析
主要涉及搭建和分析 IOT 固件的环境,这是分析和挖掘 IOT 漏洞的前置基础,同时举例说明了加密固件的几种场景及其处理方法,也包含了很多坑点的说明和解决
IOT固件仿真与gdbserver远程调试
主要涉及到如何对 IOT 固件进行仿真,如果我们没有真实的设备,可以使用 QEMU 或者 GNS3 对固件进行模拟,确保启动我们需要的服务,最后编译并使用 gdbserver 进行 IOT 设备的远程调试
CNVD-2013-11625复现
这是第一篇 CVE 复现文章,关于 DIR-815 等路由器的栈溢出漏洞,需要用到 MIPS 架构的 ROP,收获不少,同时也解决了 winmt 大佬的 poc 无法 getshell 的问题,很适合作为 CVE 复现入门
多架构与交叉编译
主要介绍了 ARM、MIPS 等架构的相关基础,以及如何查看系统的架构、如何在 x86 的物理机上搭建 ARM 和 MIPS 等架构的交叉编译环境,这些也是作为 IOT 漏洞分析中的基础技能
【攻防世界】glance-50
给了 GIF 文件,只有很小一条线,我还想修改图片宽度呢,遇见 GIF 分离帧就完事了
【Star Ctf 2018】babystack
通过修改 TLS 结构体中的 stack_guard 变量来控制 Canary,前提是溢出空间足够长并且存在子线程,但是这个题成功构造 system("/bin/sh") 却无法 getshell,必须使用 execve("/bin/sh", 0, 0)
【华为杯 2023】ez_ssp
利用 SSP Leak 绕过 Canary,通过修改 __fortify_fail 函数中要输出的变量 __libc_argv[0] 的地址,故意触发 Canary 保护来实现任意地址读
avatar
🎓毕业快乐!
uf4te
天道酬勤,保持热爱,奔赴山海
给我的网站一个star 🤗
欢迎来到我的小站
我是一个喜欢学习 PWN 和逆向的二进制 CTFer,加油,互勉!
计时小助手
最新公告
可以在《互动 -> 我的说说》下查看本站的更新及动态:我的说说
访客信息
网站线路
--- 主线路 ---
www.uf4te.cn | uf4te.cn
--- 备用线路 ---
blog.uf4te.cn
uf4te.github.io
--- 本站APP下载 ---
Android | Windows
Mac | Linux
文件 MD5 校验
知乎热榜
诗文欣赏
文章归档文章标签文章分类随便逛逛
直达评论复制本文地址
昼夜切换本站协议关于本站赞助本站