pwn ret2libc system调用失败的一些问题
文章目录
在完成软件安全的课程作业bonus时想用ret2libc完成getshell操作,但本地调用system却失败,错误显示segment fault;跟进libc中的do_system函数调试发现,是指令movaps xmmword ptr [rsp+0x50],xmm0
出的问题,经过网上查阅资料,该指令(movaps)需要rsp
按照16字节对齐,然而我的第一次exploit执行到该条指令rsp以8结尾,所以最后程序直接crash掉。
那么解决方案有两个:
- 把栈迁移到堆上,可以自由布局
- 调整参数数量,进行适量填充保证执行到movaps这条语句的时候
rsp
以0结尾
老师留的题I/O有限,所以我选择了第二种方法,增加了一些padding
最后getshell成功