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

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

14.文件上传(文件包含漏洞)+二次渲染

        很多服务器为了防止代码嵌入图片,通常会将上传的图片进行重新生成处理,包括文件格式转换等等,嵌入的恶意代码很容易被改掉。于是产生了二次渲染,二次渲染的原理就是找到服务器处理文件的保留块,并且将恶意代码插入其中,进行攻击操作。

服务器的源码常见如下:这是服务器重新生成文件的代码

srand(time());
$newfilename = strval(rand()).".gif";//显示二次渲染后的图片(使用用户上传图片生成的新图片)

简单思路:打开cmd使用命令将info.php嵌入image.gif生成一个新的图片木马文件shell.gif,并上传。

服务器经过文件处理会重新生成一个新文件,保存至本地。如6037.gif文件

我们打开该文件发现之前嵌入的木马不见了,说明服务器已经将木马处理掉了。

现在只需要对比上传前后两个文件的保留块,就可以找到漏洞,并把代码插入其中。

使用010Editor打开两个文件进行对比,找到相同区域并插入其中。

两个文件基本一致,任意找相同地方插入:

修改好后上传文件,复制图像链接,在文件包含页面中连接参数访问(文件包含页面给的是GET方式请求),访问成功。(具体详情可以看《文件上传绕过的小点总结(5)》)

http://www.dtcms.com/a/91896.html

相关文章:

  • Linux之 权限提升(Linux Privilege Escalation)
  • 进程间通信 命名管道 ─── Linux第24课
  • 同旺科技USB to SPI 适配器 ---- 指令之间延时功能
  • SpringBoot分布式项目实战:观察者模式的高阶应用与避坑指南
  • JWT应用样例
  • 【Android】Activity 生命周期(详细介绍)
  • Mac 常用命令
  • 《Git江湖录·分支篇》
  • 二叉树进阶
  • 【leetcode刷题日记】lc.560-和为 K 的子数组
  • 深入解析 JVM 内存区域及核心概念
  • 掌握Linux项目自动化构建:从零入门make与Makefile
  • 基于LLM的Agent框架全面比较分析:MGX(MetaGPT X)、AutoGen、OpenHands与秒哒(MiaoDa)
  • [C++面试] span<char>和string_view的差别
  • MySQL数据库入门
  • 【JavaScript】金丹期功法
  • LLM动态Shape实现原理与核心技术
  • 【银河麒麟系统常识】命令:dotnet run(运行)
  • 远程医疗的现状如何?
  • C++ 之 SOCKET 通信详解
  • “自动驾驶背后的数学” 专栏导读
  • 推陈换新系列————java8新特性(编程语言的文艺复兴)
  • 【现代深度学习技术】现代卷积神经网络04:含并行连接的网络(GoogLeNet)
  • 每日总结3.26
  • 算法题(108):
  • IM腾讯Trtc与vod云点播:实现合流录制并上传,根据参数返回视频地址
  • JSON简介及C++中的JSON使用指南
  • LangChain4j(1):初识LangChain4j
  • 【Linux】POSIX信号量与基于环形队列的生产消费者模型
  • ADS 学习和培训资源 - Keysight ADS