Protostar-堆溢出学习-覆盖堆函数指针劫持代码流
0x00 序 学习了栈溢出相关的漏洞利用技巧,下面进入堆溢出相关。和栈溢出一样,从最简单的堆溢出开始,看看是如何利用堆溢出去控制程序的执行流程的。 0x01 C语言源代码C代码 #include <stdlib.h> #include <unistd.h> #include <string.h> #include ..

Protostar-栈溢出学习-printf格式%n任意地址写
0x00 序 从现在开始我们先结束stack类型的漏洞,来学习一些format类型的漏洞,非常有趣。但也确实让我想了很久。 0x01 C语言源代码#include <stdlib.h> #include <unistd.h> #include <stdio.h> #include <string.h> ..

Protostar-栈溢出学习-ROP执行shellcode
0x00 序 和前面的栈溢出系列,我们覆盖了返回地址,通过ret控制eip使其执行我们在栈上存放的shellcode。这次,我们做了一些栈上的限制,比如现在的操作体系都会有DSP,ASLR等保护。本文就借此来学习一些ROP的知识。 0x01 stack3#include <stdlib.h> #include <unistd.h&g..

Protostar-栈溢出学习-ret跳转到自定义shellcode
0x00 序 经过前面的学习,我们已经了解了简单的栈溢出利用手段,建议看本文章前先看下前面的分析。这次我们来做点有趣的事,我们引入shellcode。 0x01 C语言源代码Stack5 is a standard buffer overflow, this time introducing shellcode. This level is at /..

Protostar-栈溢出学习-覆盖栈函数指针和ret指令控制eip
0x00 序 接着之前的系列,下面研究两种控制eip的方式 0x01 C语言源代码Stack3 looks at environment variables, and how they can be set, and overwriting function pointers stored on the stack (as a prelude to ..

Protostar-栈溢出学习-简单栈溢出修改局部变量值
0x01 序 为了加强自己在漏洞利用方面的能力,准备做一个栈溢出和堆溢出利用的系列学习,从最简单的栈溢出学习开始,学习平台是本地搭建的一个基于linux系统的Protostar学习虚拟机环境,里面有从易到难的示例溢出漏洞程序。那就开始吧! 0x01 Protostar虚拟机环境搭建虚拟机下载地址 虚拟机环境搭建视频教程 默认用户名和密码: user..