前置工作
下载附件,用 IDA 64 打开,找到主函数并反汇编,得到如下伪代码
int __cdecl main(int argc, const char **argv, const char **envp) |
发现 buf 能被接受 0x100 个字节,但长度只有 0x20 字节,会出现栈溢出
找 /bin/sh
按 Shift + F12 打开字符串查找,找到关键字符串 /bin/sh
,进入后按 Ctrl + X 找到函数,再按一次 F5 反汇编,找到了关键函数 int backdoor()
,该函数的地址为 0x4011FB
编写 Exp
from pwn import * |
攻入靶机
获得权限后,ls
和 cat flag
一条龙得出最后结果 flag{efcf1300-9ac4-4a30-84d9-ca717d570428}