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
04_printf漏洞概述以及调试
https://bbs.kanxue.com/thread-250858.htm 大神的格式化字符串文章 printf 格式化字符串漏洞是一类较为常见的安全漏洞,主要出现在程序通过不安全的方式处理用户提供的输入,并将其直接传递给 printf 系列函数(例如 printf、sprintf、fprin
15_结构体介绍
微软的结构体变量前缀是tag struct tagStudent { char szName[5]; int nAge; float fHeight; double dblWeight; unsigned short int wID; char nGe