分类: PWN Note

9 篇文章

thumbnail
中级rop链
1.ret2csu 1.概述 利用程序中存在的一段(可以控制的rbx,rbp,r12,r13,r14,rdx,rsi,rdi寄存器,以及call到指定地址)控制参数的gadgets 然后将程序流程劫持到__libc_csu_init函数(用于初始化libc,基本所有动态链接的的程序都会调用这个函数)执行,从而控制参数 2.关键流程__libc_cs…
thumbnail
初级rop链
初级rop链概述 随着 NX 保护的开启,以往直接向栈或者堆上直接注入代码的方式难以继续发挥效果 攻击者们也提出来相应的方法来绕过保护,目前主要的是 ROP(Return Oriented Programming),其主要思想是在栈缓冲区溢出的基础上,利用程序中已有的小片段 (gadgets) 来改变某些寄存器或者变量的值,从而控制程序的执行流程 …
thumbnail
高级rop链
1.ret2dlresolve 1.原理以及环境概述 1.处理条件 1.配置实例的环境 建议去github下载题目 ctf-wiki/ctf-challenges (github.com) 源码 /*main.c*/#include <unistd.h>#include <stdio.h>#include <strin…
thumbnail
pwn-栈迁移
1.使用前置条件 可以写入的空间太小,将栈迁移到别的地方构造payload 关键指令: leave; ret; 2.32位程序下的栈迁移原理以及分析 实例题目的链接:HITCON-Training/LAB/lab6/migration at master · scwuaptx/HITCON-Training (github.com) 进去后直接vi…
thumbnail
pwn—栈的学习
1.前卫知识 1.x86 Assembly 与c语言比较 rax和rbx是x86架构下的一种通用寄存器 jmp这里是跳过的意思,这里指直接跳到begin cmp是比较的意思 jle是conditional jump指条件跳转(即如果前一个比较指令结果表明第一个操作数小于或等于第二个操作数,则执行跳转) LOOP这里指的是直接跳出去(这里是跳到循环开…
thumbnail
pwn入门(星盟小破站视频学习)
1.入门基础知识 pwn的大部分操作是在linux上运行的,所以需要一定的linux使用基础 1.基本术语 exploit:用于攻击的脚本 payload:攻击载荷 shellcode:调用攻击目标的shell代码(狭义)能得到对方shell的代码(广义) 2.攻击的基本流程 nc ip port连接服务器 写一个exp攻击脚本 通过exp生成pa…
thumbnail
pwntools的基本使用方法
原文链接:https://blog.csdn.net/samlirongsheng/article/details/128189257 以及https://ch4r1l3.github.io/2018/07/19/pwn%E4%BB%8E%E5%85%A5%E9%97%A8%E5%88%B0%E6%94%BE%E5%BC%83%E7%AC%AC%E…
thumbnail
libc的延迟绑定机制
1.简述got表和plt表 1.got表 Linux ELF文件中用于定位全局变量和函数的一个表(全局偏移表) 2.plt表 Linux ELF文件中用于延迟绑定的表(过程链接表) 2.延迟绑定机制简述 当函数第一次被调用的时候,才会进行绑定(函数进行符号查找,重定位等),如果没有被加载则不会被绑定,加快程序的启动速度 3.延迟绑定机制的原理 存在…
thumbnail
gdb使用指南拆弹
这里是为了熟悉gdb使用,默认gdb和gef环境已经配置好以及有一定的linux的环境下操作基础 这里作者贴心的设计一个存储密码的txt的文件(这里密码本要自己创建一个txt文件在文件目录下面),以减小打到后面以后重复输入密码的繁琐操作 1.前卫知识 1.gdb的基本指令 运行 gdb bomb :使用 gdb 调试可执行文件 bomb r :ru…