Unsafe Fileupload-pikachu

系列目录

第一章 暴力破解

第二章 Cross-Site Scripting-pikachu

第三章 CSRF

第四章 sql-injection

第五章 RCE

第六章 File inclusion

第七章 Unsafe filedownload

第八章 Unsafe fileupload

概述

不安全的文件上传漏洞概述

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

所以,在设计文件上传功能时,一定要对传进来的文件进行严格的安全考虑。比如:

--验证文件类型、后缀名、大小;

--验证文件的上传方式;

--对文件进行一定复杂的重命名;

--不要暴露文件上传后的路径;

--等等...

一、Client Check

页面提示我们只能上传图片

尝试上传其他类型的文件

发现存在一个校验

检查前端代码发现,前端进行的校验

我们有两种办法绕过校验

1.禁用js

直接禁用js

我们上传成功

我们上传了一个php一句话木马,所以我们使用蚁剑连接

php 复制代码
<?php  @eval($_POST['command']); ?>
2. 使用burpsuite

由于是前端的校验,那么我们只需要在前端提交一个图片文件

在发送数据的过程中,将数据包更改

就可以绕过这个前端校验了

抓到数据包以后,先去除掉图片的数据

修改文件名

添加文件内容

连接成功

二、MIME type

三、get image size

PHP中的getimagesize()函数是一个内置函数,用于获取图像的大小。Getimagesize()返回结果中有文件大小和文件类型,如果用这个函数来获取类型,从而判断是否是图片的话,会存在问题。

制作图片马,上传成功后

由于这是图片文件,php代码并没有执行

我们需要利用之前的文件上传漏洞,来让php代码执行

相关推荐
金灰2 小时前
写在创作第 730 天:一些关于学习、技术与自我认知的记录
学习·安全
Dingdangr3 小时前
基于Python的火焰识别系统设计与实现(含论文、开题报告及答辩PPT)
java·python·测试工具·安全
金灰3 小时前
一带一路(金砖)--网络安全防护治理赛项
网络·计算机网络·安全·web安全·网络安全·网络攻击模型·安全威胁分析
bleach-5 小时前
应急响应之入侵检测排查——Windows篇—,Windows日志介绍分析
windows·安全·web安全·网络安全·系统安全
合才科技5 小时前
【要闻周报】网络安全与数据合规 12-20
安全·web安全
yesyesyoucan6 小时前
局域网快传:高效、安全的跨设备文件共享解决方案
安全
小韩博7 小时前
小迪安全 · 第 39 课学习笔记
笔记·学习·安全·网络安全
小韩博7 小时前
小迪第40天:安全开发-JavaEE应用&SpringBoot框架&JWT身份鉴权&打包部署JAR&WAR
spring boot·安全·web安全·java-ee
爱吃香蕉的阿豪7 小时前
NET Core中ConcurrentDictionary详解:并发场景下的安全利器及服务端实践
安全·http·.netcore·高并发
汽车通信软件大头兵7 小时前
信息安全--安全XCP方案
网络·安全·汽车·uds