从上图可以看出这是一个64位程序,开启了NX防护(堆栈不可执行)
代码中:
·Relro:Full Relro(重定位表只读)
Relocation Read Only, 重定位表只读。重定位表即.got 和 .plt 两个表。
·Stack:No Canary found(能栈溢出)
·NX: NX enable(不可执行内存)
Non-Executable Memory,不可执行内存。
·PIE: PIE enable(开启ASLR 地址随机化)
Address space layout randomization,地址空间布局随机化。通过将数据随机放置来防止攻击。
按下shift+f12,打开string window,发现/bin/sh
双击/bin/sh, Ctrl+X,发现/bin/sh的address在main函数里
按下f5,发现main函数就是一个简单的system函数.直接调用了/bin/sh,所以根据题目提示直接nc就行.
nc的用法: nc -help
nc的全名是netcat,其主要用途是建立和监听任意TCP和UDP连接,支持ipv4和ipv6。因此,它可以用来网络调试、端口扫描等等使用格式:nc ip地址 ip端口
连接靶机后,ls发现flag,cat得到flag
结果:flag{1254c31d-7233-4897-a931-1da7ad2a073d}