二进制基础程序的编译与连接从C源代码到ELF可执行文件的生成过程编译由C语言代码生成汇编语言汇编由汇编代码生成机器码链接将多个机器码的目标链接成一个可执行文件Linux下的可执行文件格式ELFSect...
WLAN与WiFi 6你真的理解吗?
❝无线局域网(WLAN,Wireless Local Area Network)构建了一种利用无线通讯技术代替传统有线方式,将两个或更多设备连接在一起形成局域网(LAN,Local Area Netw...
学习记录之栈迁移(stack pivoting)
学习记录之栈迁移趁着寒假这次的hgame和之前的pctf来总结一下栈迁移相关的内容stack pivoting(也称栈迁移)是一种控制迁移栈顶指针rsp和栈帧指针rbp来达到自身目的的一种攻击方式目的...
nepctf srop复现
nepctf srop复现 关于srop Srop 的全称是Sigreturn Oriented Programming Srop 可以理解成一种高级的ROP,利用了linux下15号系统调用的-&g...
栈迁移详解
栈迁移详解栈迁移将ebp转移到bss或data段,在bss段或data段构造gadget然后在这里执行leave相当于mov esp,ebp pop ebp;ret相当于pop eip;mov esp...
美团CTF个人决赛WP
ReverseROP解析data的ROP,一点一点还原from pwn import *opcode = open('data', 'rb'...
顺着WiFi BSSID找到你
BSSID,一种特殊的Ad-hoc LAN的应用,也称为Basic Service Set (BSS),一群计算机设定相同的BSS名称,即可自成一个group。每个BSSD都会被赋予一个BSSID。B...
复杂的栈迁移
题目libc是2.23,注意事项:io、nop首先这道题看上去和正常的栈迁移没什么区别,但是实际上坑处有点多,先看看程序:还比较好,然后看看main:第一个是初始化io函数,我们进vul里面看看第一次...
极限状态下缓冲区溢出
步骤:泄漏mmap->挟持rbp->劫持stdin->挟持setbuf的got这里需要用到的知识点是scanf特性,read参数控制,execv使用(高版本libc建议不用syste...
CVE-2022-36123 - 由于 early_xen_iret_patch 失败导致任意代码执行
由于 early_xen_iret_patch 失败导致 asm_exc_page_fault 或任意代码执行,Linux 内核主线 v5.18-rc1 到 v5.19-rc6 中的漏洞无法清除块起始...
C和C++内存模型
C分为四个区:堆,栈,静态全局变量区,常量区C++内存分为5个区域(堆栈全常代 ):堆 heap :由new分配的内存块,其释放编译器不去管,由我们程序自己控制(一个new对应一个delete)。如果...
Android的进程地址空间
进程地址空间 从上图进程地址空间分布中可以看到,android进程的地址空间从低地址开始分别为:代码段(Text)、数据段(Data)、BSS段、堆、内存映射段、栈。下面就分别对这些属性做下...