Unsafe Fileupload

1.client check

标题叫客户端check,文件校验应该是在客户端进行的。

可以先把一句话木马改成图片格式,然后再抓包修改回PHP格式。

一句话木马内容:

抓包修改:

可以看到上传成功,并且给出了路径。

根据给出的路径用中国蚁剑来连接:

可以看到成功连接并且爆出了目录:

2.MIME type

按照刚才的步骤抓包

可以看到HTTP请求包中的Content-Type,MIME检测就是检测它的值判断文件类型。

PHP文件的Content-Type值是 application/octet-stream

上传会发现上传失败:

把 Content-Type 值修改成 image/png即可通过服务端校验,成功上传文件。

成功连接:

3.getimagesize

这里的getimagesize函数是根据文件的文件头来判断是否为图片文件的,如果是图片就成功返回一个数组,失败则返回 FALSE。

这里还会校验后缀名,目前暂无好的绕过思路。

这里配合pikachu的文件包含漏洞利用。

首先上传带有图片文件头(这里是GIF89a)的一句话木马,注意后缀名是图片格式的:

然后在文件包含那里把file改成一句话木马的路径

http://192.168.171.30/pikachu/vul/fileinclude/fi_local.php?filename=../../unsafeupload/uploads/2022/03/21/6906176238508fe5bb2295885217.jpg&submit=%E6%8F%90%E4%BA%A4%E6%9F%A5%E8%AF%A2

这里文件包含会把文件当php解析,所以即使后缀名是jpg也没关系。

蚁剑连接成功。

Pikachu漏洞靶场 Unsafe Fileupload(文件上传)的更多相关文章

  1. 对FileUpload文件上传控件的一些使用方法说明

    //创建时间:2014-03-12 //创建人:幽林孤狼 //说明:FileUpload文件上传控件使用说明(只是部分)已共享学习为主 //可以上传图片,txt文档.doc,wps,还有音频文件,视屏 ...

  2. FileUpload文件上传控件

    1.FileUpload控件的主要功能是向指定目录上传文件.FileUpload控件不会自动上传控件,而需要设置相关的事件处理程序,然后在程序中实现文件上传. 2.FileUpload控件常见的属性 ...

  3. ASP.NET中的FileUpload文件上传控件的使用

    本篇文章教大家如何将客户端的图片或者文件上传到服务器: 无论是上传图片(.jpg .png .gif等等) 文档(word excel ppt 等等). 第一步:放入以下三个控件 Image控件,Fi ...

  4. PHP漏洞全解(九)-文件上传漏洞

    本文主要介绍针对PHP网站文件上传漏洞.由于文件上传功能实现代码没有严格限制用户上传的文件后缀以及文件类型,导致允许攻击者向某个可通过 Web 访问的目录上传任意PHP文件,并能够将这些文件传递给 P ...

  5. apache fileupload 文件上传,及文件进度设置获取

    文件上传action处理: boolean isMultipart = ServletFileUpload.isMultipartContent(request); if (isMultipart) ...

  6. Commons FileUpload文件上传组件

    Java实现的文件上传组件有好几种,其中最为“官方”的要数Apache Commons库中的FileUpload了吧. 页面 <form method="POST" enct ...

  7. PHP代码审计3-SQL注入,CSRF,动态函数执行与匿名函数执行,unserialize 反序列化漏洞,变量覆盖,文件管理,文件上传

    SQL注入 审计语句 [输入参数] SELECT,DELETE,UPDATE,INSERT 防御 转义: 1.开启gpc:判断解析用户提示的数据 2.mysql_real_escape_string( ...

  8. web漏洞-命令执行、文件上传、XSS

    一.命令执行   1:什么是命令执行? 命令执行漏洞是指攻击者可以随意执行系统命令.属于高危漏洞之一任何脚本语言都可以调用操作系统命令. 应用有时需要调用一些执行系统命令的函数,举个例子如:PHP中的 ...

  9. Bootstrap Fileupload 文件上传

    1.在jsp中引入css与js文件, <link href="${ctx}/plugins/fileup/css/fileinput.css" media="all ...

  10. commons.fileupload 文件上传

    编辑jsp页面获取文件 <html> <head> <base href="<%=basePath%>"> <title> ...

随机推荐

  1. golang Context应用举例

    Context本质 golang标准库里Context实际上是一个接口(即一种编程规范. 一种约定). type Context interface { Deadline() (deadline ti ...

  2. DBConvertStudio使用记录

    DBConvertStudio使用记录 前言 这篇文章是我在学习使用DBConvertStudio过程中的学习记录,以便日后遗忘查阅: 诸君也可跟随我的步伐了解一下DBConvertStudio 声明 ...

  3. 递归解析Json,实现生成可视化Tree+快速获取JsonPath

    内部平台的一个小功能点的实现过程,分享给大家: 递归解析Json,可以实现生成可视化Tree+快速获取JsonPath. 步骤: 1.利用JsonPath读取根,获取JsonObject 2.递归层次 ...

  4. Python开发之Django框架

    一. Django框架 01.网络软件开发架构演变过程 02.HTTP协议讲解 03.web应用与框架介绍及手撸web框架 04.Django入门项目创建与必会三板斧 05.Django静态文件配置与 ...

  5. Berkeley

    2019年Berkeley预测Serverless将取代Serverful计算,成为云计算的计算新范式.Serverless为应用程序开发提供了一种全新的系统架构,其凭借着弹性伸缩省事省心,按需付费更 ...

  6. GPT-4 API waitlist

    Skip to main content Site Navigation GPT-4 API waitlist We're making GPT-4 available as an API for d ...

  7. Top 5 Code Smells Newbies Developers Could Easily Identify & Avoid

    Posted by Ajitesh Kumar / In Freshers, Software Quality / February 1, 2014 Following is one very pop ...

  8. vue框架,input相同标签如何定位-label定位

    一.问题提出: 后台前端框架改版,之前是angularjs,现在用vue,导致input标签定位失败,只能定位到第一个input标签,查看后台源代码发现这两个标签是一模一样,如下图: 二.问题思考过程 ...

  9. [ABC201D] Game in Momotetsu World 题解

    Game in Momotetsu World 题目大意 在一个 \(n\times m\) 的网格中,存在红色和蓝色两种格子,红色格子用 - 表示,蓝色格子用 + 表示. 现在 Takahashi ...

  10. (转)用GPU做DeepLearning要比CPU快40~80倍

    The speed difference of CPU and GPU can be significant in deep learning. But how much? Let's do a te ...