随笔分类 - pwn
摘要:中级栈溢出 1. ret2csu 1.1 目的 在64位程序下,函数的前6个参数是通过寄存器来传递的,从第7个参数开始才从栈开始传递。但是,我们很难找到这6个寄存器对应的gadget。 此时,我们可以利用程序内部的_libc_csu_init()函数内部的gadget来实现这样的功能。 这个函数是用
阅读全文
摘要:二进制漏洞挖掘与利用 1. pwn概述及基本术语补充 1.1 pwn概述 pwn可以指: 1. 破解、利用成功(程序的二进制漏洞) 2. 攻破了设备、服务器 3. 控制了设备、服务器 (简单理解)pwn漏洞指的就是:已经编译成机器码的二进制程序(可执行程序)相关的漏洞。 1.2 ELF ELF指的就
阅读全文
摘要:基本栈溢出 1. 缓冲区溢出概念以及种类 本质是向定长的缓冲区写入了超长的数据,造成超出的数据覆写了合法内存区域。 缓冲区溢出的种类: 1. 栈溢出 最常见,漏洞比例最高,危害最大的二进制漏洞 在CTF PWN 中往往是漏洞利用的基础。 2. 堆溢出 现实中的漏洞占比不高 堆管理器复杂,利用方式很多
阅读全文
摘要:二进制漏洞挖掘与利用-第二部分 1. ROP概念 ROP全名为:返回导向编程 ROP的全称为Return-oriented programming(返回导向编程),这是一种高级的内存攻击技术可以用来绕过现代操作系统的各种通用防御(比如内存不可执行和代码签名等)。 当你想要执行一段攻击代码(代码)时,
阅读全文