0x00.前言
又是一题栈溢出题,但是又有一点点不同。。。
0x01.程序逻辑
程序保护:
程序只开了NX保护,堆栈不可执行。
进入IDA
程序让你先输入你将要输入的字符串长度,然后继续让你输入字符串。
最后,程序会输出你输入的字符串。
看起来,这很像一般的栈溢出,甚至我们可以通过程序的输出把一些敏感的地址给输出出来。
更加让人欣喜的是,这个程序好像给了什么不得了的东西。
0x02.奇怪的东西
居然给了flag,我们通过write函数,可不可以把他输出来呢?
答案是,当然可以。
0x03.气人的循环
当我们开开心心的把payload写好,输入到远程端中,我们发现根本出不来啊。
程序一直在循环,循环,循环。
一直循环个不停。
我们应该怎么解决这个奇怪的循环呢?
0x04.大佬的shutdown
退出循环,我们可以用close()直接结束程序。
但是这样,我们就不能达到我们的目的。
幸好有大佬的援助,我们知道了pwn中有shutdown函数,可以直接