5.4k 5 分钟

# srop # srop 原理 # signal 机制 ¶ signal 机制是类 unix 系统中进程之间相互传递信息的一种方法。一般,我们也称其为软中断信号,或者软中断。比如说,进程之间可以通过系统调用 kill 来发送软中断信号。一般来说,信号机制常见的步骤如下图所示: 内核向某个进程发送 signal 机制,该进程会被暂时挂起,进入内核态。 内核会为该进程保存相应的上下文,主要是将所有寄存器压入栈中,以及压入 signal 信息,以及指向 sigreturn 的系统调用地址。此时栈的结构如下图所示,我们称 ucontext 以及 siginfo 这一段为 Signal...
4.4k 4 分钟

# 中级 ROP_CSU ret2csu 泄露 libc 地址之后利用 libc 中的 gadget getshell. ret2csu 配合 pop rax; syscall; 等 gadget 直接 GetShell. 开启 PIE 的情况下,利用 offset2lib 进行 ret2csu, 或者直接利用 libc 中的 gadget getshell. 只要动态连接都会有 _libc_csu_init 函数 # 原理 ¶ 在 64 位程序中,函数的前 6 个参数是通过寄存器传递的,但是大多数时候,我们很难找到每一个寄存器对应的 gadgets。 这时候,我们可以利用 x64 下的...
4.6k 4 分钟

# 国赛题复现 不同地区的国赛题,进行复现。— 简单 pwn 题 # 华北赛区: # RELRO 保护机制 1.RELRO 的保护机制可用于防护 GOT hijacking ,其全名为 Relocation Read-Only 。 2. 本题中 checksec 中为 Partial RELRO ,这种情况下, GOT 可写,即存在 GOT hijacking 的漏洞 3. 而保护的方式是设置为 Full RELRO ,这种情况下不会出现 lazy binding ,因为在 Load time 时会将所有 funciton resolve 完毕,并设置 GOT...
1.4k 1 分钟

# 题目复现 ——[深育杯 2021] find_flag pie 与 canary 同时开启,并且有格式化字符串。 # 检查程序: 保护很全面。 可以看的出,在第一处有格式化字符串漏洞。 # IDA 分析: 看了一下 mian 函数,将函数重命名,pwn 是我们有漏洞的地方。 可以看到 gets 函数可以进行栈溢出,但是有 canary 保护,所以我们需要泄露 canary,可以利用格式化字符串去泄露 canary 并覆写在栈上。 发现 backdoor。但是开了 pie,我们应该无法利用后们,但是好在只读变量(const 修饰的)和字符串变量放入 rodata...