网上能够找到的好题解:
知识点细节看上面题解就好了,非常详细
细节问题折腾好久,来学习一下:
如何把input文件放上去?有两种方法:
A:WinSCP,注意tmp文件我们没有足够权限,只有把文件放进去的权限,拖进去了就好
B:用scp命令,推荐个学习博客:scp命令学习
注意哦,修改端口是大写
scp -P 2222 inputpwn.c input@pwnable.kr:/tmp
这样就成功的把文件放上去了
如何调整路径到tmp?
这个很简单,ssh登录上去之后,使用cd的命令回到root下
然后进入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了
原理在贴的博客中讲解的非常详细了,不多解释