# pwn 学习笔记(3) # ROP 原理: ​ ROP (Return Oriented Programming) 返回导向编程,主要思想是通过在程序中已有的小片段(gadgets)来改变某些寄存器或者变量的值,从而控制程序的执行流程。 # 栈溢出–ret2syscall: # 1. 系统调用: ​ 对于一个已经存在于标准库中的函数,例如 printf (),我们编写某个程序的时候,这个函数仅仅只用了 printf (参数); 这么一行,但是,其工作可是很复杂的,printf () 调用了函数库当中的其他更加底层的函数,然后被调用的函数肯定会调用再底层的函数,知道调用到系统调用中的...

# pwn 学习笔记(2) # 1. 三种常见的寄存器: ​ ax 寄存器:通用寄存器,可用于存放多种数据 ​ bp 寄存器:存放的是栈帧的栈底地址 ​ sp 寄存器:存放的是栈顶的地址 # 2. 栈帧与栈工作的简介: ​ 栈帧是存储函数的一些信息的地方,栈帧存储有函数的局部变量,传递给子函数的实际参数,父函数的地址以及上一个栈帧栈底的地址,大致情况如下: ​ 在函数调用的过程中,首先会讲 bp 寄存器的值进行压栈,以方便在恢复的时候恢复栈底寄存器的值,再之后,会按顺序将局部变量压栈,最后是子函数的实际参数,会按照先入栈的后出栈,从最后一个实际参数先入栈再到第一个实际参数,比如函数 a...

# pwn 学习笔记(1) # (1)pwn 简介: 以下来自于百度百科:”Pwn”是一个黑客语法的俚语词,是指攻破设备或者系统发音类似“砰”,对黑客而言,这就是成功实施黑客攻击的声音——砰的一声,被“黑”的电脑或手机就被你操纵了 。 # (2)几个简单的名词: exploit:用于攻击的脚本与方案 payload:攻击载荷,是对目标进程劫持控制流的数据 shellcode:调用攻击目标的shell代码,常见的有bash和sh # (3)C...

Welcome to Hexo! This is your very first post. Check documentation for more info. If you get any problems when using Hexo, you can find the answer in troubleshooting or you can ask me on GitHub. # Quick Start # Create a new post 1$ hexo new "My New Post" More info: Writing # Run...