upload-labs关卡7(基于黑名单的空格绕过)通关思路

文章目录

  • 前言
  • 一、回顾上一关知识点
  • 二、靶场第七关通关思路
    • 1、看源代码
    • 2、空格绕过
    • 3、检查文件是否成功上传
  • 总结


前言

此文章只用于学习和反思巩固文件上传漏洞知识,禁止用于做非法攻击。注意靶场是可以练习的平台,不能随意去尚未授权的网站做渗透测试!!!


一、回顾上一关知识点

前两关是利用window命名文件的后缀名特性,因为window对大小写不敏感。而且命名后缀名的时候,后缀名加空格或者是后缀名加点都是等效于不加东西的文件。比如1.php+空格也就是1.php

二、靶场第七关通关思路

  • 1、看源代码
  • 2、空格绕过
  • 3、检查文件是否成功上传

1、看源代码

$is_upload = false;
$msg = null;
if (isset($_POST['submit'])) {if (file_exists(UPLOAD_PATH)) {$deny_ext = array(".php",".php5",".php4",".php3",".php2",".html",".htm",".phtml",".pht",".pHp",".pHp5",".pHp4",".pHp3",".pHp2",".Html",".Htm",".pHtml",".jsp",".jspa",".jspx",".jsw",".jsv",".jspf",".jtml",".jSp",".jSpx",".jSpa",".jSw",".jSv",".jSpf",".jHtml",".asp",".aspx",".asa",".asax",".ascx",".ashx",".asmx",".cer",".aSp",".aSpx",".aSa",".aSax",".aScx",".aShx",".aSmx",".cEr",".sWf",".swf",".htaccess",".ini");$file_name = $_FILES['upload_file']['name'];$file_name = deldot($file_name);//删除文件名末尾的点$file_ext = strrchr($file_name, '.');$file_ext = strtolower($file_ext); //转换为小写$file_ext = str_ireplace('::$DATA', '', $file_ext);//去除字符串::$DATAif (!in_array($file_ext, $deny_ext)) {$temp_file = $_FILES['upload_file']['tmp_name'];$img_path = UPLOAD_PATH.'/'.date("YmdHis").rand(1000,9999).$file_ext;if (move_uploaded_file($temp_file,$img_path)) {$is_upload = true;} else {$msg = '上传出错!';}} else {$msg = '此文件不允许上传';}} else {$msg = UPLOAD_PATH . '文件夹不存在,请手工创建!';}
}

看到源代码发现有了大小写过滤,上一关方法不管用了。但是发现和上一关不同的是它没有过滤首尾去空。如果我们上传1.php (空格)文件的话,是不是就能绕过黑名单了呢?而且还能被win服务器自动识别为1.php文件

2、空格绕过

这里我上传123.php文件,然后用bp工具在文件后缀名后加上空格后发包。
在这里插入图片描述

3、检查文件是否成功上传

在这里插入图片描述
在这里插入图片描述
发现上传成功,如果是一句话木马就可以连接菜刀了


总结

这一关和上一关方法类似,也是利用win特性绕过黑名单达到上传php文件

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/171644.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

桶装水订水小程序app,线上预约订水更便捷

桶装水订水小程序app,线上预约订水更便捷。设置好地址,一键订水,工作人员送水到家。还能配送新鲜果蔬,绿色健康有保证。送水软件手机版,提供各种品牌桶装水,在线发起订水服务,由服务人员送水到家…

一文图解爬虫(spider)

—引导语 互联网(Internet)进化到今天,已然成为爬虫(Spider)编制的天下。从个体升级为组合、从组合联结为网络。因为有爬虫,我们可以更迅速地触达新鲜“网事”。 那么爬虫究竟如何工作的呢?允许…

Model Inspector—软件模型静态规范检查工具

产品概述 Model Inspector(MI)原厂商是韩国Suresoft,是KOLAS国际公认测评机构,旨在提升安全关键领域软件可信度。MI用于开发过程中模型的静态检查,包括规范检查、复杂度度量,提供MAAB、HIS、CG、MISRA_AC_…

Unity--UGUI创建基本的UI

随着UI系统的引入,已添加了新组件,这些组件将有助于创建特定于GUI的功能。其中一些元素包括文本,图像,按钮等。在本教程中,您将学习创建和使用基本UI。 1.创建基本的UI 通过Unity的用户界面(UI)…

以太网和局域网

计算机网络的定义 计算机网络是一个将分散的、具有独立功能的计算机,通过通信设备与线路连接起来,由根据协议编写的软件来实现的资源共享和信息传递的系统 计算机网络的分类 广域网是互联网的核心部分 局域网 常见的局域网拓扑结构有4大类&#xff1a…

02-学成在线内容管理模块基础环境搭建

内容管理模块 需求分析 需求分析就是要搞清楚问题域即用户的需求,从而确定软件要为用户解决什么问题,实现哪些业务功能,满足什么样的性能要求 首先确认用户需求: 产品人员根据用户需求会绘制界面原型,通过界面原型再和用户确认…

K8S容器持续Terminating无法正常关闭(sider-car容器异常,微服务容器正常)

问题 K8S上出现大量持续terminating的Pod,无法通过常规命令删除。需要编写脚本批量强制删除持续temminating的Pod:contribution-xxxxxxx。 解决 获取terminating状态的pod名称的命令: # 获取media命名空间下,名称带contributi…

全面解析Typhoeus库编写的爬虫程序

Typhoeus是一个Ruby编写的HTTP客户端库,它可以用于编写高性能的HTTP请求。它支持并发请求,可以使用多个爬虫服务器,还可以进行SSL验证。 以下是一个使用Typhoeus库编写的爬虫程序,该程序使用Ruby语言爬取duokan的内容,…

本地跑项目解决跨域问题

跨域问题: 指的是浏览器不能执行其他网站的脚本,它是由浏览器的同源策略造成的,是浏览器对 javascript 施加的安全限制。 同源策略: 是指协议(protocol)、域名(host)、端口号&…

PyCharm鼠标控制字体缩放

File->Settings->Keymap 右边搜索栏输入increase(放大),可以看到下面出现increase Font Size(放大字体尺寸),双击。 双击后出现几个选项,选择Add Mouse Shortcut,会出现一个页面给录入动作。 按住Ctrl同时鼠标向上滚动,该动…

论文精读 MediaPipe Hands

MediaPipe Hands:On-device Real-time Hand Tracking MediaPipe手势:设备上的实时手势跟踪 论文地址:2006.10214.pdf (arxiv.org) 源码地址:GitHub - vidursatija/BlazePalm: PyTorch 目录 摘要 介绍 架构 BlazePalm Detector Hand L…

jenkins分步式构建环境(agent)

rootjenkins:~# netstat -antp|grep 50000 tcp6 0 0 :::50000 ::😗 LISTEN 5139/java 1.52 安装Jenkins rootubuntu20:~# dpkg -i jenkins_2.414.3_all.deb 配置各种类型的Agent的关键之处在于启动Agent的方式 ◼ JNLP Agent对应着“通过Java Web启动代理”这种方…