在 64 位程序中,函数的前 6 个参数是通过寄存器传递的,但是大多数时候,我们很难找到每一个寄存器对应的 `gadgets`,换句话说,我们不能够通过`pop`的方式直接修改所需要的寄存器, 这时候,我们可以利用 `x64` 下的` __libc_csu_init `中的 `gadgets`。这个函数是用来对` libc` 进行初始化操作的,在这里边,会对很多寄存器初始化,而一般的程序都会调用 `libc` 函数,所以这个函数一定会存在。 ...
考点:格式化字符串漏洞-覆盖指定地址为小数字。 本文需要你了解字符串漏洞相关知识,如果尚未了解,可移步至[【ctf-wiki】](https://ctf-wiki.org/pwn/linux/user-mode/fmtstr/fmtstr-intro/)学习 下载文件以后,查看文件信息: ...