摘要: retlibc 2 分析 这道题和第一个ret2libc唯一的区别就是没有/bin/sh 从上一道题的知识可以构造出以下模板 由于我们插入了一段gets,所以我们需要在发送完打入gets的payload后另外写入gets的内容 exp from pwn import * p = process('. 阅读全文
posted @ 2022-03-04 20:33 MuRKuo 阅读(107) 评论(0) 推荐(0) 编辑
摘要: ret2libc 1 exp from pwn import * p = process('./ret2libc1') elf = ELF('./ret2libc1') system_plt = elf.plt["system"] bin_sh = next(elf.search(b"/bin/sh 阅读全文
posted @ 2022-03-04 17:43 MuRKuo 阅读(93) 评论(0) 推荐(0) 编辑
摘要: pwndbg基本操作 基本指令 help //帮助 i //info,查看一些信息,只输入info可以看可以接什么参数,下面几个比较常用 i b //常用,info break 查看所有断点信息(编号、断点位置) i r //常用,info registers 查看各个寄存器当前的值 i f //i 阅读全文
posted @ 2022-03-04 17:20 MuRKuo 阅读(4718) 评论(0) 推荐(2) 编辑
摘要: 动态链接过程 第一次调用函数 第二次调用函数 此时system@got中已经保存了正确的system函数的真实地址 可以直接进行调用 阅读全文
posted @ 2022-03-04 16:50 MuRKuo 阅读(51) 评论(0) 推荐(0) 编辑
摘要: 函数调用 程序执行前 执行system函数时 接下来需要调用system需要的arg 这时候的system的栈帧 retuen add = exit() arg = "/bin/sh" exit 与system函数同 阅读全文
posted @ 2022-03-04 16:25 MuRKuo 阅读(39) 评论(0) 推荐(0) 编辑