1. 首先下载文件,得到一个没有后缀名的stack_of文件。拿到ubuntu分别用file和checksec查看。
2. 我们可以看到这是一个64位ELF文件,动态链接,符号表未被剥离,看上去没什么保护。
3. 接着拿到ida上去分析一下,先来看一下main函数,发现有init初始化函数和get函数。
4. 跟进get,函数读取a1值,a1[[0x6d](109的十六进制数是0x6d)等于1(1的ASCII码是49),即可进入shell()。
5. 继续跟进shell(),发现了system("/bin/sh")后门函数,只要构造payload让a1[]内的所有元素都为1即可。
7. 运行脚本,远程连接服务器成功,ls查看目录,发现了flag,使用cat flag命令查看flag即可得到结果。
8. 最终结果是flag{8eaa5670-c98a-44eb-a2ff-b9a89fff5726}