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代码执行

相关推荐
Runjavago6 分钟前
客户端安全开发基础-PC篇-附项目源码
安全
Amd7941 小时前
Nuxt.js 应用中的 afterResponse 事件钩子
安全·日志·nuxt·清理·性能·钩子·响应
网络安全Ash3 小时前
威胁驱动的网络安全方法论
网络·安全·web安全
vbsecvey4 小时前
[LitCTF 2023]Vim yyds
安全·web安全·网络安全
网络安全(华哥)4 小时前
网络安全-------防止被抓包
安全·web安全
鲨鱼爱兜兜5 小时前
JWT实现token登录验证
java·开发语言·spring boot·后端·安全·spring·网络安全
黑客呀7 小时前
想成为网络安全技术爱好者(可能是黑客)的话,需要看什么书?
网络·安全·web安全
始终奔跑在路上7 小时前
黑客基础网恋避险2
linux·服务器·安全·网络安全
黄焖鸡能干四碗7 小时前
(资料集)软件项目程序代码编写规范,SQL语句编写规范,数据库语句编写规范,软件项目管理规范,项目管理过程性文档(Word原件)
网络·安全·web安全·架构·需求分析
M malloc8 小时前
打破地域限制!本地部署并实现Flowise大模型工作流构建平台的远程安全访问
安全