在这个实验中,我们主要分别通过代码注入和`ROP`的方式对可执行文件执行缓冲区溢出漏洞利用。 ...
在 64 位程序中,函数的前 6 个参数是通过寄存器传递的,但是大多数时候,我们很难找到每一个寄存器对应的 `gadgets`,换句话说,我们不能够通过`pop`的方式直接修改所需要的寄存器, 这时候,我们可以利用 `x64` 下的` __libc_csu_init `中的 `gadgets`。这个函数是用来对` libc` 进行初始化操作的,在这里边,会对很多寄存器初始化,而一般的程序都会调用 `libc` 函数,所以这个函数一定会存在。 ...