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

12-14_C基础(指针)


ptr + n = (int)ptr + sizeof(type)*n //运算结果为同类指针的常量 数组名是数组第0个元素的地址常量 type ary[M] = ptr = ary; ptr[n] = (type 8const)((int)ptr + sizeof(type)*n) ary[n]

03_Canary保护


gdb基本命令复习 基本调试控制 s / step:单步执行,进入函数内部。 si:单步执行一条汇编指令,进入函数内部。 n / next:单步执行,不进入函数,直接执行下一条语句。 ni:单步执行一条汇编指令,不进入函数。 c

02_保护与溢出


保护机制 1. NX (No-eXecute) 简介:NX保护指的是将内存分为可执行和不可执行区域,从而禁止在数据区域(如栈或堆)上执行代码。 防护目的:防止代码注入攻击(如栈溢出时执行shellcode)。 绕过方式: 利用ROP (Return Oriented Programming),通过调