「Pwn」Ubuntu18 中 64位 ELF 在调用 system 时候可能出现的问题
· 阅读需 3 分钟
Double Free 是 Fastbin 里比较容易的一个利用,搞一下
整体原理比较简单,在ctf-wiki上可以看到。主要就是因为 fastbin 在检查时只检查链表头部且释放时不清除prev_in_use
在中也有相应的源码
在 64bits 的 ELF 文件中,函数调用的前六个参数是分别存放在rdi、rsi、rdx、rcx、r8、r9这六个寄存器当中的,而我们在实际构建 ROP 时很难找到对应的 gadgets(大部分情况下是找不到 rdx),而 ret2csu 的关键点就在于使用__libc_csu_init()
来获取两个 gadgets 来进行万能传参(同时泄露出函数真实地址)
准备研究一下不同保护机制下的绕过,然后就准备进 heap 了
今天先来看一下 Canary
(因为找不到相关logo所以偷了个banner_img())
在settings.json
中配置以下字段
痛定思痛了属于是,连续几次比赛一题做不出来,得到了 zbr 爹的指指点点,决定自裁。
整。