php文件上传后没有打开权限_漏洞复现|文件上传漏洞利用方式与原理概述

本文介绍了PHP文件上传漏洞的原理,通过环境搭建、复现过程展示如何绕过后缀白名单验证上传PHP文件,并提供了修复建议,强调前后端都需要进行文件格式校验。
摘要由CSDN通过智能技术生成

2cfcf18f28b0267324b41892ad40dbc1.gif

一、 环境搭建

环境介绍:

Windows

PHP

Pikachu靶场

我是在windows主机上搭建的环境,用的是pikachu靶场

phpstudy下载地址:http://phpstudy.php.cn

pikachu靶场下载地址:https://github.com/zhuifengshaonianhanlu/pikachu

文件上传漏洞:

文件上传漏洞是指由于程序员在对用户文件上传部分的控制不足或者处理缺陷,而导致的用户可以越过其本身权限向服务器上上传可执行的动态脚本文件。这里上传的文件可以是木马,病毒,恶意脚本或者WebShell等。这种攻击方式是最为直接和有效的,“文件上传”本身没有问题,有问题的是文件上传后,服务器怎么处理、解释文件。如果服务器的处理逻辑做的不够安全,则会导致严重的后果。

二、 复现过程

6297999ab3bcbf15c8a0545c6c8a7bdc.png

我们先上传一个php的文件看能不能正常的上传

b94f30f2291d7171b494a0505f4d3b7f.png

这里提示上传文件不符合要求,然后我们在试试普通的图片

5e88d5ba13dca1628e702627f0942748.png

图片是正常上传的,这种情况不要方

首先我们把phpinfo文件的php后缀改成jpg

97ad6af4a13739a1973beef60cccd953.png

然后打开burpsite抓个包吧,把文件名1.jpg后缀改成php,然后上传:

cb51b028f9c2e7ee7e7f64171edcc441.png

服务器回显是上传成功并且给了上传后文件的地址

828ecec4d259cc0030fe2fd060ddc1a5.png

我们访问一下1.php的文件

http://127.0.0.1/pikachu/vul/unsafeupload/uploads/1.php

1560a06b5d3b5b15050173952f4d3872.png

成功上传了,我们来分析一下代码

7319985738dd80bce21652aa3f18f80e.png

在代码的75行,它只做了一个前端后缀的白名单验证,然后我们利用burpsite抓包改包可以轻松的绕过它的验证

三、 修复建议

对文件格式进行校验,前端跟服务器都要进行校验(前端校验扩展名,服务器校验扩展名、Content_Type等)。

推 荐 阅 读

关于山丘安全攻防实验室三思网安诚招线上山丘攻防实验室成员看我如何利用社会工程学+XSS组合拳击碎骗子的心肝脏脾

SQLMAP从入门到精通

Redis 4.x 5.x漏洞手动复现

目标域名收集之subDomainsBrute

b54174c5d38939f81796f9ce506d7c14.png

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值