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

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

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

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

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

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

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

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

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

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

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

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

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

相关文章:

  • 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 通信详解
  • 舞者王佳俊谈“与AI共舞”:像多了一个舞伴,要考虑它的“感受”
  • 现场丨在胡适施蛰存等手札与文献间,再读百年光华
  • 博柏利上财年营收下降17%,计划裁员1700人助推股价涨超18%
  • 七部门:进一步增强资本市场对于科技创新企业的支持力度
  • 四部门:强化汛期农业防灾减灾,奋力夺取粮食和农业丰收
  • 检疫期缩减至30天!香港优化内地进口猫狗检疫安排