首页 > 其他分享 >pikachu文件上传漏洞通关详细解析

pikachu文件上传漏洞通关详细解析

时间:2024-12-28 12:55:38浏览次数:8  
标签:文件 pikachu jpg 图片 绕过 php 上传 通关

什么是文件上传漏洞

文件上传功能在web应用系统很常见,比如很多网站注册的时候需要上传头像、上传附件等等。当用户点击上传按钮后,后台会对上传的文件进行判断 比如是否是指定的类型、后缀名、大小等等,然后将其按照设计的格式进行重命名后存储在指定的目录。 如果说后台对上传的文件没有进行任何的安全判断或者判断条件不够严谨,则攻击着可能会上传一些恶意的文件,比如一句话木马,从而导致后台服务器被webshell。

常见类型:

  • 文件包含绕过
    
  • 前端限制绕过
    
  • 文件扩展名绕过
    
  • ashx上传绕过
    
  • 特殊文件名绕过
    
  • 00截断绕过上传
    
  • htaccess解析漏洞
    
  • 突破MIME限制上传
    
  • 解析漏洞绕过
    
  • 条件竞争绕过
    
  • CONTENT-LENGTH绕过
    

一、客户端check

先上传个php文件,发现被过滤了,

尝试上传一个jpg文件,上传成功


这里可以利用bp抓包修改头和类型上传php文件,修改如下,然后放行

可以看到上传成功

源码如下:

二、MIME type

上传一个php文件,发现只能上传以下三种图片


上传这三种类型的文件,即可上传成功


有一种方法,上传php文件利用bp抓包,修改文件类型,即:

Content-Type: image/jpeg


上传成功

三、getimagesize()

这个代码可以获取图片宽高等参数,如果不是真实的图片,则没有信息

上传一个图片

实际情况下,我们可以利用windows命令,制作一个图片马,在这个文件夹下打开命令控制面板


输入:copy 1.php+12.jpg 123.jpg

这样就可以把内容输入到一起,成为一个图片马,然后去上传,即可成功

标签:文件,pikachu,jpg,图片,绕过,php,上传,通关
From: https://blog.csdn.net/m0_74786138/article/details/144730058

相关文章

  • Java实现FTP文件上传和下载
    Java实现FTP文件上传和下载|Id|Title|DateAdded|SourceUrl|PostType|Body|BlogId|Description|DateUpdated|IsMarkdown|EntryName|CreatedTime|IsActive|AutoDesc|AccessPermission||-------------|-------------|-------------|-------------......
  • java通过模拟post方式提交表单实现图片上传功能实例
    java通过模拟post方式提交表单实现图片上传功能实例|Id|Title|DateAdded|SourceUrl|PostType|Body|BlogId|Description|DateUpdated|IsMarkdown|EntryName|CreatedTime|IsActive|AutoDesc|AccessPermission||-------------|-------------|-----......
  • Piclist上传图床软件,比Picgo更懂我-工程师焱记
    简介PicList是一款高效的云存储和图床平台管理工具,在PicGo的基础上经过深度的二次开发,不仅完整保留了PicGo的所有功能,还增添了许多新的feature。下载地址:https://github.com/Kuingsmile/PicList/releases优点1.软件自己集成了压缩图片和打水印功能,无需额外装插件2.可以......
  • 如何解决FTP上传后网站仍显示“正在建站中”的问题?
    在使用FTP工具上传网站文件后,您可能会发现浏览器访问网站时仍然显示“正在建站中”的默认页面,而不是您上传的实际内容。这可能是由于文件上传不完整、默认页面未被覆盖或FTP路径设置错误等原因造成的。本文将详细介绍如何解决这一问题,确保您的网站能够正常显示上传的内容。解决方......
  • C# winform图片上传事例
    在C#WinForms应用程序中上传图片,你可以使用OpenFileDialog来让用户选择图片文件,然后使用WebRequest或HttpClient来发送图片到服务器。以下是一个简单的例子:添加一个按钮到你的WinForms窗体上,用来触发上传操作。实现按钮的点击事件处理程序来打开文件选择器,选择图片,并上......
  • 上传图片
    基于el-upload的上传组件,包含宽高比大小等校验<!--*@description图片上传!--><template><divclass="upload-image-box"><el-uploadv-bind="$attrs"class="avatar-uploader":ac......
  • 微信小程序上传图片报错:uploadFile:fail url not in domain list
    上传图片时,在微信开发工具中可以正常上传成功,手机上预览也可上传成功。小程序发布成功后,上传失败,提示“uploadFile:failurlnotindomainlist”。错误信息如下:解决方案:1、在微信管理公众平台|小程序-开发-开发管理-服务器域名下的服务器配置uploadFile合法域名,没有添加服务器......
  • GitHub已有本地项目如何建仓库并上传到服务器——从零开始
    1.首先登录github并在自己的首页找到repository>Createanewrepository 2.找到本地项目根目录gitinit3.克隆远程仓库gitclonegit@github.com:yourName/yourProject.git4.添加忽略文件以要忽略一个“test”文件夹为例方法1)需要在项目的根目录下创建或......
  • iview upload组件 上传 vue2 写法备份
    <Upload:action="urlDoMain+'middle/bla'":headers="{'Current-id':accountId,'Current-name':account,}":format="['xlsx�......
  • 向服务器上传文件
    //--------------------向服务器上传文件------//浏览选择需要上传的文件privatestaticboolUnzip(stringaddress,stringfilezip){//创建对话框OpenFileDialogofd=newOpenFileDialog();ofd.Title="请选择上传的文件";......