软连接&&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的小站!
