龙空技术网

渗透测试基础入门:文件上传漏洞之文件名过滤绕过

安界 9

前言:

今天看官们对“php禁止某些类型的上传文件”大概比较注重,同学们都想要分析一些“php禁止某些类型的上传文件”的相关资讯。那么小编在网上网罗了一些有关“php禁止某些类型的上传文件””的相关文章,希望大家能喜欢,咱们一起来学习一下吧!

昨天安仔跟大家分享了文件上传漏洞中的前端JS绕过,今天继续分享文件名过滤绕过。

绕过原理:

JS验证代码通过黑名单的方式来判断允许上传文件的类型,这个时候攻击者就可以通过上传黑名单之外的文件类型来绕过验证上传文件。

黑名单策略:在黑名单中的所有类型禁止上传,不在黑名单里面的可以上传;白名单策略:只允许在白名单里面的文件类型上传,不在白名单中的一律不允许上传。

一般来说的绕过姿势(方法)有上传后缀为Php、php5等文件来绕过。

下面是今天的靶场代码:

<from action="" enctype="multipart/form-data" method="post" name="uploadfile">上传文件:<input type="file" name="upfile"/><br>

<input type="submit" value="上传"/></form>

<?php

if(is_uploaded_file($_FLIES['upfile']['tmp_name'])){

$upfile=$_FILES["upfile"]; //获取数组中的值

$name=$upfile["name"]; //上传文件的文件名

$type=substr($name,strrpos($name,'.')+1); //上传文件的类型

$size=$upfile["size"]; //上传文件的大小

$tmp_name=$upfile["tmp_name"];

if($type=="php"){

echo "<script>alert('不可以上传PHP文件哦!')</script>";

die();

}else{

$error=$upfile["error"]; //上传后系统返回的值

echo "上传文件信息";

echo "<br>图片预览</br>";

echo "<img src=".$destination.">";

}}}

?>

在这段代码中,if($type=="php")进行判断文件的类型是否为php。如果是php,则不允许上传,所以我们要通过大小写(如pHp、Php)或者php3,phtml等后缀进行绕过文件名过滤。

大家可以结合昨天的推送黑客实践基础课:文件上传漏洞的绕过技巧,自己搭建一下试试,如果你在过程中有什么疑问,或遇到其他一些网络安全的问题,可以私信安仔,安仔会尽快回复的,最后祝大家天天都有新进步!

欢迎大家点击关注我的头条号,0基础掌握更多黑客秘籍

私信回复‘’资料‘’领取更多文章和学习资料,加入专属的安全学习圈一起进步

安界贯彻人才培养理念,结合专业研发团队,打造课程内容体系,推进实训平台发展,通过一站式成长计划、推荐就业以及陪护指导的师带徒服务,为学员的继续学习和职业发展保驾护航,真正实现和完善网络安全精英的教练场平台;

想实现进高企、就高职、拿高薪,微信关注“安界网”,发送“福利”,获取更多安全福利课程。

即使低学历也可实现职业发展中的第一个“弯道超车”!赶紧私信我!等你来!

标签: #php禁止某些类型的上传文件 #js跳过微信认证 #文件上传漏洞的绕过方式 #文件上传漏洞的绕过方式有哪些 #文件上传漏洞的绕过方式有哪些类型