- 博客(7)
- 收藏
- 关注
原创 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
原创 1.关于逆向工程(《逆向工程核心原理》笔记)
1.关于逆向工程逆向工程一般指,通过分析物体、机械设备或系统,了解其结构、功能、行为等,掌握其中原理并改善其不足之处、添加新创意的一系列过程。代码逆向工程是逆向工程在软件领域中的应用。逆向分析方法逆向分析方法大致分为两种:静态分析和动态分析法。静态分析法静态分析是指在不执行程序的情况下,对代码进行分析。通过静态分析可以观察代码的特征结构,获取文件类型,大小,PE头信息、import/export API、内部字符串、是否运行时压缩、注册信息、调试信息、数字证书等信息。同时使用反编译工具查看程序
2021-09-26 11:00:56
1257
原创 1.关于逆向工程(《逆向工程核心原理》笔记)
1.关于逆向工程逆向工程一般指,通过分析物体、机械设备或系统,了解其结构、功能、行为等,掌握其中原理并改善其不足之处、添加新创意的一系列过程。代码逆向工程是逆向工程在软件领域中的应用。逆向分析方法逆向分析方法大致分为两种:静态分析和动态分析法。静态分析法静态分析是指在不执行程序的情况下,对代码进行分析。通过静态分析可以观察代码的特征结构,获取文件类型,大小,PE头信息、import/export API、内部字符串、是否运行时压缩、注册信息、调试信息、数字证书等信息。同时使用反编译工具查看程序
2021-09-26 10:56:48
624
原创 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
原创 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
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人