Pwn

如果我们有一个函数允许我们在任何给定地址泄漏内存,我们可以通过pwntools/binjitsu使用类似DynELF的工具来找到所需要的函数地址。
大家对格式化字符串读操作一定不陌生,但是对写操作的概念或者具体步骤会比较模糊。这里主要总结一下格式化字符串写操作,会以两道例题来进行讲解。
这篇博客是记录入门 Linux kernel 的心得和体会,一直以来对内核知识都较为感兴趣,下面就开始第一个 kernel pwn 的旅程(题目来自于 TSCTF 天枢-17)。
这题是在做global_max_fast相关利用总结的时候做的,解法仍然使用了隐藏的uaf以及unsorted bin attack。
这是IO FILE系列的第二篇文章,主要写的是对于fread函数的源码分析,描述fread读取文件流的主要流程以及函数对IO FILE结构体以及结构体中的vtable的操作。流程有点小复杂,入坑需谨慎。
最近打算详细整理下IO FILE相关的笔记,不少地方都是知道个大概,因此这次打算从源码出发,把IO FILE相关的东西都过一遍。第一篇fopen详解,主要是基于源码的分析。
canary是一种用来防护栈溢出的保护机制。其原理是在一个函数的入口处,先从fs/gs寄存器中取出一个4字节(eax)或者8字节(rax)的值存到栈上,当函数结束时会检查这个栈上的值是否和存进去的值一致。
PIE全称是position-independent executable,中文解释为地址无关可执行文件,该技术是一个针对代码段(.text)、数据段(.data)、未初始化全局变量段(.bss)等固定地址的一个防护技术。
一道简单的pwn题引出的一种构造非常复杂ROP技巧—ret2dl_resolve。本文将从原理的角度,解析ELF文件以及其延迟绑定的原理,深入解析这一种技术。
本文是我在学习how2heap遇到的一些坑,做了一些整理,最主要的是因为glibc-2.26之后引入了tcache机制,导致刚开始学习时,发现运行结果和说好的不一样,N脸懵逼。