64位构造通用ROP,ret2csu
# ret2csu
# 原理
64位程序中,函数的前6个参数是通过寄存器传递的,但是大多数时候我们很难找到每个寄存器对应的gadges。这时候,我们可以利用x64下的__libc_csu_init中的gadgets。
这个函数是用来对libc进行初始化操作的,而一般的程序都会调用libc函数,所以这个函数一定会存在。
# 下面借用别人在IDA摘出来的__libc_csu_init函数的汇编指令
.text:00000000004011B0 ; void _libc_csu_init(void)
.text:00000000004011B0 public __
more...

