分类: 赛棍日记

27 篇文章

thumbnail
free后向合并unlink利用
利用条件 存在两个相邻堆块 能控制前一堆块数据部分 能控制后一堆块header部分 有可写指针指向前一堆块数据段地址,能获取该指针地址 利用原理 堆块 free 时,如果相邻前一堆块处于空闲状态,会尝试进行后向合并的操作,将两堆块合并成一个堆块。其中由于空闲堆块原本在双向链表中管理,因此会触发 unlink 对其进行脱链,即从双向链表中取出。 关于…
GDB命令详解
GDB命令详解 启动选项 -cd:设置工作目录 -q:安静模式,不打印介绍信息和版本信息 -d:添加文件查找路径 -x:从指定文件中执行GDB指令 -s:设置读取的符号表文件 基础命令 命令 简写 gdb功能 使用方法及备注 list l 列出源代码 每次接着上次的位置往下列,每次列10行;后接参数表示列出以参数位置为中心上下10行代码 run r…
GAS基本用法
## 工具介绍 GNU汇编器(GNU Assembler),简称为GAS。 汇编代码通过*汇编器***汇编**生成机器码。 参考**编译原理**相关文章。 ## 工具安装 ### Linux 系统自带,无需安装 ## 基本用法 具体用法见手册 ``` <pre class="wp-block-code">`…
ROPgadget基本用法
## 工具介绍 ROPgadget工具可以帮助你寻找合适的gadgets,在编写你的ROP exp的时候有很大作用。 ROPgadget支持 x86, x64, ARM, ARM64, PowerPC, SPARC和MIPS架构下的ELF/PE/Mach-O文件格式。 ## 工具安装 安装pwntools自带 ## 基本用法 ``` <pre…
thumbnail
主键冲突报错注入
原理 利用RAND()和GROUP BY,以包含RAND()的数据为键进行分组(GROUP BY),在执行过程中,GROUP BY会读取每一行数据,如果已存在相应的键值会更新对应行的值,否则会插入该键值,而插入该键值时会重新执行RAND()函数,而不是用之前读取到的值,如果此时RAND()生成了与已有键值冲突的值,则会导致主键冲突报错,报错格式如下…