![](https://img-blog.csdnimg.cn/20201014180756738.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
笔记
文章平均质量分 81
大能猫能
二进制安全萌新
展开
-
heap exploitation巩固——堆中的off-by-one
heap exploitation巩固——堆中的off-by-one(from:大能猫)0x00 前言off-by-one是一种堆溢出,从它的名字上来看就知道它只能够溢出一个字节。在之前很长的一段时间off-by-one漏洞被认为是不可利用的,不过这样的观点已经被打破,并且off-by-one也成为了一个危害性比较大的漏洞,就算只溢出了一个字节也可以改变堆快关系来达到利用的目的。0x01 off-by-one漏洞的原理off-by-one漏洞顾名思义,就是我们在向缓冲区写入数据的时候由于限制条件或原创 2021-12-06 11:33:40 · 2754 阅读 · 0 评论 -
pwn基础之ctfwiki-栈溢出-基础ROP-ret2libc-3
文章目录基础知识libc泄露原理利用方法ret2libc3挖掘漏洞利用漏洞利用脚本基础知识libc泄露原理当有一道题给了可执行文件文件,在ida分析中并不能找到system函数和binsh地址,这时我们就可以利用在栈溢出之前执行过的函数泄露libc的版本。因为libc函数相对于libc的基地址都是确定的,采用 got 表泄露,即输出某个函数对应的 got 表项的内容,所以就可以通过上述方法来获取libc函数中的system地址和字符binsh的地址。system 函数属于 libc,而 libc原创 2021-04-23 20:10:50 · 1323 阅读 · 1 评论 -
pwn基础之ctfwiki-栈溢出-基础ROP-ret2syscall
文章目录前言原理系统调用ret2system挖掘漏洞2.读入数据总结前言二进制小白的学习笔记,如有错误请大佬及时斧正。原理ret2syscall,即控制程序执行系统调用,获取 shell。系统调用Linux 的系统调用通过 int 80h 实现,用系统调用号来区分入口函数。操作系统实现系统调用的基本过程是:应用程序调用库函数(API);API 将系统调用号存入 EAX,然后通过中断调用使系统进入内核态;内核中的中断处理函数根据系统调用号,调用对应的内核函数(系统调用);系统调用完成相应原创 2021-04-22 19:33:10 · 1559 阅读 · 0 评论 -
pwn基础之ctfwiki-栈溢出-基础ROP-ret2shellcode
文章目录前言原理ret2shellcode挖掘漏洞利用漏洞利用脚本(exp)总结前言二进制小白的学习记录,是自己写的第二篇文章,相较于第一篇文章我也做了一些改进,希望会越来越好。也希望二进制大佬们及时斧正文章的错误。原理ret2shellcode,即控制程序执行 shellcode 代码。shellcode 指的是用于完成某个功能的汇编代码,常见的功能主要是获取目标系统的 shell。一般来说,shellcode 需要我们自己填充。这其实是另外一种典型的利用方法,即此时我们需要自己去填充一些可执原创 2021-04-22 15:30:03 · 1206 阅读 · 4 评论 -
pwn基础之ctfwiki-栈溢出-基本ROP-ret2text
文章目录前言原理ret2text发现漏洞利用漏洞书写exp总结前言刚开始自己的二进制生涯,想记录一下自己的学习,如有错误还请大佬们斧正。原理ret2text 即控制程序执行程序本身已有的的代码 (.text)。其实,这种攻击方法是一种笼统的描述。我们控制执行程序已有的代码的时候也可以控制程序执行好几段不相邻的程序已有的代码 (也就是 gadgets),这就是我们所要说的 ROP。这时,我们需要知道对应返回的代码的位置。当然程序也可能会开启某些保护,我们需要想办法去绕过这些保护。ret2tex原创 2021-04-21 20:57:09 · 1138 阅读 · 3 评论