网上能够找到的好题解:

input题解1

input题解2

知识点细节看上面题解就好了,非常详细


细节问题折腾好久,来学习一下:

如何把input文件放上去?有两种方法:

A:WinSCP,注意tmp文件我们没有足够权限,只有把文件放进去的权限,拖进去了就好

B:用scp命令,推荐个学习博客:scp命令学习

注意哦,修改端口是大写

scp -P 2222 inputpwn.c input@pwnable.kr:/tmp

这样就成功的把文件放上去了


如何调整路径到tmp?

这个很简单,ssh登录上去之后,使用cd的命令回到root下

cd命令学习

然后进入tmp文件夹下

输入命令:

ln /home/input/flag flag

硬连接,即访问了/tmp/下的flag文件的话,也就是访问了/home/input/下的flag

ln是它的功能是为某一个文件在另外一个位置建立一个同步的链接.当我们需要在不同的目录,用到相同的文件时,我们不需要在每一个需要的目录下都放一个必须相同的文件,我们只要在某个固定的目录,放上该文件,然后在 其它的目录下用ln命令链接(link)它就可以,不必重复的占用磁盘空间。

学习链接:ln命令学习


gcc编译程序:

gcc inputpwn.c -o input

这个是gcc把c源码文件直接编译链接成input这个可执行文件

然后执行

./input

就可以看到flag了


原理在贴的博客中讲解的非常详细了,不多解释