软连接&&getshell
软连接
软连接是linux中一个常用命令, 它的功能是为某一个文件在另外一个位置建立一个同步的链接。软连接类似与c语言中的指针,传递的是文件的地址。简单说,通过软连接将文件a
与文件b
连接在一起,那么我们对文件a
的操作都会转换成对文件b
的操作。
[CISCN 2023] unzip
开题,发现文件上传。
随便上传一个文件后发现。
分析一下这个代码
|
首先提示我们要上传一个zip文件,然后程序会打卡tmp
文件夹,然后解压这个压缩包,也就是说我们上传的内容会被解压到tmp
文件夹下,但是我们无法访问tmp
文件夹,及时上传一个包含木马的压缩包,也无法利用。
那么这时,我们就可以使用软连接的方法,首先建立一个tmp
与根目录/var/www/html
的软连接,那么我们在tmp
文件下解压,就相当于在根目录下解压,这时候我们的木马可以被执行。
这样我们就创建了一个指向\var\www\html
的文件夹link
对link
进行压缩,压缩成link.zip
我们接下来要删除link
文件夹(防止文件重名),因为我们下一步要在link
中写入木马。
将新的link
文件压缩成新的压缩包
这时候我们先上传link.zip
创建软连接,然后上传含有木马的文件links.zip
这样我们的木马文件shell.php
就会被解压到根目录,我们访问这个文件就可以getshell。
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 cl1mb3r的小站!