「PWN」最基础的 ret2csu
· 阅读需 4 分钟
0x01 为什么需要 ret2csu?
在 64bits 的 ELF 文件中,函数调用的前六个参数是分别存放在rdi、rsi、rdx、rcx、r8、r9这六个寄存器当中的,而我们在实际构建 ROP 时很难找到对应的 gadgets(大部分情况下是找不到 rdx),而 ret2csu 的关键点就在于使用__libc_csu_init()
来获取两个 gadgets 来进行万能传参(同时泄露出函数真实地址)
在 64bits 的 ELF 文件中,函数调用的前六个参数是分别存放在rdi、rsi、rdx、rcx、r8、r9这六个寄存器当中的,而我们在实际构建 ROP 时很难找到对应的 gadgets(大部分情况下是找不到 rdx),而 ret2csu 的关键点就在于使用__libc_csu_init()
来获取两个 gadgets 来进行万能传参(同时泄露出函数真实地址)
准备研究一下不同保护机制下的绕过,然后就准备进 heap 了
今天先来看一下 Canary
痛定思痛了属于是,连续几次比赛一题做不出来,得到了 zbr 爹的指指点点,决定自裁。
整。