这道题就是一道简单的ROP,主要学到了找字符串的方法,以前一直不是很清楚。
首先查看文件格式和保护措施,发现是64位文件动态链接,只开启了NX保护
然后用ida反汇编查看程序主函数如下
1 | signed __int64 Hello() |
可以看出fgets出有栈溢出漏洞,我们可以通过这个漏洞劫持返回地址。同时我们在ida还发现了system函数,所以我们只需要调用system函数并满足其参数需要就可以成功拿到shell。以下命令十分好用
然后就可以构造ROP链写脚本了
1 | #!/usr/bin/python |