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. Python 网页爬虫原理及代理 IP 使用

    一.Python 网页爬虫原理 Python 是一种高效的编程语言,在 Web 开发和数据分析领域广受欢迎.Python 的优秀模块使其更加适合大规模数据处理和 Web 服务的编程.网络爬虫是 Pyt ...

  2. Django框架项目之支付功能——支付宝支付

    文章目录 支付宝支付 入门 支付流程 aliapy二次封装包 GitHub开源框架 依赖 结构 alipay_public_key.pem app_private_key.pem setting.py ...

  3. 垃圾000000000000000000000写了很多,保存不上,发送失败了。。。。。A

    垃圾000000000000000000000写了很多,保存不上,发送失败了.....A垃圾000000000000000000000写了很多,保存不上,发送失败了.....A垃圾0000000000 ...

  4. RK3588平台产测之ArmSoM产品低温环境测试

    1. 简介 专栏总目录 ArmSoM团队在产品量产之前都会对产品做几次专业化的功能测试以及性能压力测试,以此来保证产品的质量以及稳定性 优秀的产品都要进行严苛的多次全方位的功能测试以及性能压力测试才能 ...

  5. 使用gitbook快速搭建文档中心

    背景 在研发一个系统,主要给公司内部同事用,按理说,简单点的话,搞个使用文档就行了,但产品经理希望是做成一个文档中心,比如,你学习个新技术的时候,比如vue,一般有个在线的帮助文档,他的想法就是这种. ...

  6. iframe用的场景

    iframe可用在以下几个场景中: 1:典型系统结构,左侧是功能树,右侧就是一些常见的table或者表单之类的.为了每一个功能,单独分离出来,采用iframe. 2:ajax上传文件. 3:加载别的网 ...

  7. log4j漏洞CVE-2021-44228复现-排雷篇

    一.环境搭建(用相同的环境才能保证一定成功) 下载vulhub,其他环境可能存在GET请求无效问题: git clone https://github.com/vulhub/vulhub.git 切换 ...

  8. 基于Electron27+Vite4+React18搭建桌面端项目|electron多开窗口实践

    前段时间有分享一篇electron25+vite4搭建跨桌面端vue3应用实践.今天带来最新捣鼓的electron27+react18创建跨端程序.electron多开窗体(模拟QQ登录窗口切换主窗口 ...

  9. C++ 与 QML 之间进行数据交互的几种方法

    一.属性绑定 这是最简单的方式,可以在QML中直接绑定C++ 对象的属性.通过在C++ 对象中使用Q_PROPERTY宏定义属性,然后在QML中使用绑定语法将属性与QML元素关联起来. person. ...

  10. 当代免疫学小史-第一章(根据讲谈社Blue Backs系列2009年第一版第三次印刷版本翻译)

    作者 -岸本忠三:前大阪大学校长.IL-6发现人 -中嶋彰:科普作家 第1章 石坂往事 巴尔的摩的大雪 1970年匆匆而过,这一年举行了大阪世博会,三岛由纪夫也是在这一年切腹自杀的.1971年新年第一 ...