「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
(因为找不到相关logo所以偷了个banner_img())
在settings.json
中配置以下字段
痛定思痛了属于是,连续几次比赛一题做不出来,得到了 zbr 爹的指指点点,决定自裁。
整。
总感觉自己 Blog 太空了, 想搞个看板娘什么的。使用了 HEXO-live2d 发现只支持 Cubism2 版本的 live2d, 其他也是这样(看了下 Issues 好像是因为商用版权什么的), 在官网看到了这个 SDK 所以尝试着ctrl+c
ctrl+v
了一下, 也没想到成功了:P