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

文件上传绕过的小点总结(3)

6.文件首尾加空绕过

源码给出这样的,发现文件名处理没有首尾去空,于是我们可以采用首尾加空的方式绕过。

$file_name = $_FILES['upload_file']['name'];
$file_name = deldot($file_name);//删除文件名末尾的点
$file_ext = strrchr($file_name, '.');
$file_ext = strtolower($file_ext); //转换为小写
$file_ext = str_ireplace('::$DATA', '', $file_ext);//去除字符串::$DATA

简单思路:开启BP拦截,上传info.php文件,拦截成功后文件名info.php后面加个空格即可。

复制图像地址访问如图,即上传成功。

7.文件末尾加点绕过

给出的源码并没有文件末尾去点的处理,于是我们可以通过文件名后缀加点来绕过。

$file_name = trim($_FILES['upload_file']['name']);
$file_ext = strrchr($file_name, '.');
$file_ext = strtolower($file_ext); //转换为小写
$file_ext = str_ireplace('::$DATA', '', $file_ext);//去除字符串::$DATA
$file_ext = trim($file_ext); //首尾去空

简单思路:开启BP拦截,上传info.php文件,BP拦截修改info.php为info.php.

复制图片地址访问如图,即成功上传。

8.文件末尾加字符串::$DATA绕过

$file_name = trim($_FILES['upload_file']['name']);
$file_name = deldot($file_name);//删除文件名末尾的点
$file_ext = strrchr($file_name, '.');
$file_ext = strtolower($file_ext); //转换为小写
$file_ext = trim($file_ext); //首尾去空

发现源码没有删除字符串::$DATA操作,可以通过这个绕过。

同理,拦截时修改,复制图片地址访问,即成功上传。(注意:访问时::$data要删掉才能访问。)

相关文章:

  • C++效率掌握之STL库:stack queue函数全解
  • C++ 利用类模板实现一个数组类封装
  • 《数字图像处理》第三章 3.7 混合空间增强法笔记:原理、实现与Python实战
  • 【赵渝强老师】达梦数据库的物理存储结构
  • 使用Langchain4J整合springboot+流式数据响应示例
  • # Ubuntu 软件包管理:apt、snap 和 Flatpak 如何选择
  • GitHub 上的 Khoj 项目:打造你的专属 AI 第二大脑
  • MySQL 的索引类型有哪些?应该怎么选择?
  • React - LineChart组件编写(用于查看每日流水图表)
  • AI日报 - 2025年3月25日
  • 外观模式 (Facade Pattern)
  • 单片机串口打印调试信息②
  • 数据不外传!通过内网穿透实现绿联NAS远程访问的安全配置方案
  • 基于python的租房网站-房屋出租租赁系统(python+django+vue)源码+运行步骤
  • 第四天 开始Unity Shader的学习之旅之Unity中的基础光照
  • 专业级 AI 提示生成工具清单
  • 纯文本驱动的数据可视化革命——AI生成图表「图表狐」全场景深度解析
  • 深度拆解:AI Agent发展演练·数字挑战
  • 【蓝桥杯每日一题】3.20
  • AI医疗革命:英伟达GTC 2025医疗健康与生命科学会议全分析
  • 青年与城市共成长,第六届上海创新创业青年50人论坛将举办
  • 预告:央行等部门将发声,介绍“一揽子金融政策支持稳市场稳预期”有关情况
  • 为什么所有动物里,只有人类幼崽发育得这么慢?
  • “穿越看洪武”,明太祖及其皇后像台北故宫博物院南院展出
  • 胡塞武装称以色列所有机场均为其打击目标
  • 岳伟华任北京大学第六医院院长,陆林院士卸任