05_手动制作shellcode并测试


这是shellcode的测试代码,具体用途是把shellcode当作命令运行 这是一段标准的shellcode

04_Ret2Shellcode-32位


Ret2Shellcode和Ret2libc区别在于有没有nx保护,先来讲讲shellcode shellcode Shellcode 是一种小巧的、用于攻击目的的机器代码,其通常在目标系统中执行,以获得控制权或执行特定的指令。Shellcode这个名称来源于早期的攻击目标是获取系统的 shell,

17_堆


#include <stddef.h> #include <tchar.h> #include <string.h> #include <crtdbg.h> #include <stdlib.h> #ifdef _DEUBG #DEFINE malloc(n) _malloc_dbg(n, _NO

16_结构体数组、共用体、枚举类型


结构体、共用体与枚举类型的使用及应用场景 1. 结构体(Struct) 1.1 结构体的定义与变量声明 在C语言中,结构体是一种用户自定义的数据类型,允许将不同类型

03_gdb附加动态调试


如何在GDB中附加调试64位程序,尤其是在开发脚本时? 1. 使用GDB调试64位程序 当我们处理 ELF 文件时,可能需要进行动态调试。在这种情况下,我们通常会借助 GDB 工具。而在使用 pwntools 进行开发时,pwntools 提供了对 GDB 的内置支持模块,简化了调试流程。 其中,最

02_Rop-Ret2Text实例详解


快速定位偏移 Pwndbg:cyclic 200 || cyclic -l 地址 Pwn-peda: pattern create 200 || pattern offset 地址 以下是第二章保护与溢出提到的objdump工具 实例 这里我编写了一

01_Rop-Ret2text介绍以及插件


ROP攻击技术 ROP(Return-Oriented Programming,返回导向编程)是一种攻击技术,攻击者利用受害程序中已存在的代码片段(称为“gadget”)来执行任意代码。ROP 技术常用于绕过 DEP(Data Execution Prevention,数据执行保护)等安全机制。 R

06_利用printf漏洞突破canary保护


#include<stdio.h> void exploit() { system("/bin/sh"); } void func() { char str[0x20]; read(0, str, 0x50); printf(str); read(0, str

05_格式化字符串发生的条件


标准输出函数 fprintf、printf、sprintf 和 dprintf 是 C 语言中的标准输入输出函数,用于格式化输出数据到不同的目标(如文件、标准输出、字符串等)。它们都属于格式化输出家族,核心原理是基于格式化字符串输出特定的变量值。下面是它们的详细介绍: 1. fprintf int