当前位置:首页 > 技术文章 > 正文内容

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

zonemu2个月前 (07-10)技术文章24

昨天安仔跟大家分享了文件上传漏洞中的前端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基础掌握更多黑客秘籍

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

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

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

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

相关文章

【Vue3 基础】05.组件化(组件使用vuex)

这是 Vue3 + Vite + Pinia +TS + Element-Plus 实战系列文档。最近比较忙没什么时间写文章,争取早日把这个系列完结吧~生命周期和模板引用在本章之前,我们通过响应式 a...

面试官:聊聊你知道的Vue与React的区别

最近面到很多大公司的时候,小编都会碰到一个很尴尬的问题,很多大公司的技术栈都是React,但是小编学的是Vue,其实从本质上来说两者都是比较优秀的前端框架,所以有些面试官会问到Vue和React的区别...

gitlab简单搭建与应用(gitlab怎么用)

一、gitlab1、简介GitLab是利用Ruby on Rails一个开源的版本管理系统,实现一个自托管的Git项目仓库,可通过Web界面进行访问公开的或者私人项目。与Github类似,GitLab...

Gitlab 的使用和代码审查流程介绍

1、先简洁介绍下项目常用的信息-面板统计页面2、用户信息面板3、服务器信息4、项目信息5、重点介绍代码提交审核机制和授权合并机制开发人员推送代码的时候不能直接推送到master,否则就会报错。此时开发...

GIT最佳实践,高效提升多团队协同开发效率

多个团队共同维护同一个微服务模块时,经常出现A团队已发布的功能,B团队提交测发布出现冲突或缺失,如何有效解决多团队共同维护的问题呢?常用的版本管理工具有GIT、SVN,这两种版本管理工具,各有千秋;虽...

HTML5最新版本介绍(“html5”)

HTML5是HTML4.01和XHTML1.0之后超文本标记语言的最新版本,由一群自由思想者设计,最终实现了多媒体支持、交互性、更智能的表单和更好的语义标注。 HTML 5不只是 HTML规范的最新...