随笔分类 - CTF-PWN
摘要:Stack Migration(栈迁移) 原理 1.通过overflow覆盖prev ebp的值,让程序在执行完当前函数后执行leave(mov esp,ebp ; pop ebp)恢复栈帧时,获取到错误的prev ebp从而让ebp跳转到指定的位置。 2.此时esp执行到我们之前写入的gets函数
阅读全文
摘要:[第五空间2019 决赛]PWN5 这次我们换一下,尝试只用工具来解题 浅看一下 int __cdecl main(int a1) { unsigned int v1; // eax int result; // eax int fd; // [esp+0h] [ebp-84h] char nptr
阅读全文
摘要:堆UAF-hacknote 堆的经典UAF漏洞 例题是hacknote 分析 main int __cdecl __noreturn main(int argc, const char **argv, const char **envp) { int v3; // eax char buf[4];
阅读全文
摘要:ret2libc 3 漏洞点 src开辟了256字节空间,dest开辟了56个地址 strcpy将src中的字符串拷贝到dest中 src可控 反汇编 int __cdecl main(int argc, const char **argv, const char **envp) { char **
阅读全文
摘要:retlibc 2 分析 这道题和第一个ret2libc唯一的区别就是没有/bin/sh 从上一道题的知识可以构造出以下模板 由于我们插入了一段gets,所以我们需要在发送完打入gets的payload后另外写入gets的内容 exp from pwn import * p = process('.
阅读全文
摘要:ret2libc 1 exp from pwn import * p = process('./ret2libc1') elf = ELF('./ret2libc1') system_plt = elf.plt["system"] bin_sh = next(elf.search(b"/bin/sh
阅读全文
摘要:buuctf刷题笔记 2021.10.3 [MRCTF2020]Ez_bypass I put something in F12 for you include 'flag.php'; $flag='MRCTF{xxxxxxxxxxxxxxxxxxxxxxxxx}'; if(isset($_GET[
阅读全文
摘要:PWN练习 ciscn_2019_n_1 这道题应该是由于平台题目更新,导致网上我看的几个exp均不可用(cnblog 和 csdn)这些exp里面最主要的问题是平台将题目更改为64位的,但是这些网站里的exp里面均为32位的。 解题 首先老规矩checksec 64位的程序,部分随机化。 IDA查
阅读全文