iwebsec靶场 文件上传漏洞通关笔记2-第02关 文件名过滤绕过

news2024/11/19 17:30:49

目录

第02关 文件名过滤绕过

1.打开靶场

2.源码分析

3.上传info.pHp

4.获取上传脚本地址

5.访问上传脚本


第02关 文件名过滤绕过

1.打开靶场

iwebsec 靶场漏洞库iwebsechttp://iwebsec.com:81/upload/02.php

 随手上传脚本info.php,如下所示提示不能上传php文件

2.源码分析

如下所示为02.php的源码内容

 分析可知仅对php后缀进行判断,而且是黑名单判断,只要是php后缀那就会提示失败,而其他类型则会成功。由于后缀仅判断php关键字,故而可以考虑使用大小写绕过,比如说.PHP、.pHP、.PhP、.PHp等等,都可以绕过php关键字过滤。

<?php

  require_once('../header.php');
  ?>
<html>
<meta http-equiv="Content-Type" content="text/html;  charset=utf8"/>
	<head>
		<title>文件名过滤绕过</title>
	</head>
	<h2>文件名过滤绕过</h2>
		<div class="alert alert-success">
			<p>请上传PHP文件</p>
		</div>
	<body>
<form  enctype="multipart/form-data" method="post" name="uploadfile">
请上传文件:<input type="file" name="upfile" /><br> 
<input type="submit" name="submit" value="submit" />
</form> 
</html>
<?php 
//print_r($_FILES["upfile"]); 
if(is_uploaded_file($_FILES['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 "================<br/>"; 
echo "上传文件名称是:".$name."<br/>"; 
echo "上传文件类型是:".$type."<br/>"; 
echo "上传文件大小是:".$size."<br/>"; 
echo "上传后系统返回的值是:".$error."<br/>"; 
echo "上传文件的临时存放路径是:".$tmp_name."<br/>"; 

echo "开始移动上传文件<br/>"; 
//把上传的临时文件移动到up目录下面 
move_uploaded_file($tmp_name,'up/'.$name); 
$destination="up/".$name; 
echo "================<br/>"; 
echo "上传信息:<br/>"; 
if($error==0){ 
	echo "文件上传成功啦!"; 
	echo "<br>图片预览:<br>"; 
	echo "<img src=".$destination.">"; 
	//echo " alt=\"图片预览:\r文件名:".$destination."\r上传时间:\">"; 
	}
}
}

?>

3.上传info.pHp

由于后台源码仅过滤php后缀,那么可以通过大小写后缀绕过,构建脚本info2.pHp

<?php phpinfo();?>

选择上传info2.pHp,如下所示:

4.获取上传脚本地址

上传结果如下所示

在图片预览处点击鼠标右键,选择复制图片地址

5.访问上传脚本

phpinfo()http://iwebsec.com:81/upload/up/info2.pHp

 如上所示,渗透成功

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

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

相关文章

日志:logback、枚举

logback下载步骤&#xff1a; logback官网https://logback.qos.ch/index.html教程http://t.csdn.cn/xSK0I 点击SLF4J API进去&#xff0c;注意看右上角的标题是有变化的&#xff0c;是什么目录下就会显示什么目录&#xff0c;点击下载 然后一样点击右下角的Maven 下载这三个&a…

12月8日:thinkphp中的杂项

缓存 缓存概念及类型&#xff1a;什么是缓存 - 与非网 缓存(cache)一般存放在runtime目录下&#xff0c;页面请求一次将请求内容进行缓存&#xff0c;下一次再次访问&#xff0c;会直接访问到缓存内容&#xff0c;不会再次请求服务器&#xff0c;减少服务器压力 场景&#xff…

C++ Primer Plus第五版笔记(p151-200)

64 空语句存在危害 p155 65 复合语句是指用花括号括起来的&#xff0c;也被叫做块 一个块就是一个作用域 66 空块的概念p155 67 else只和最近的没配对的if 进行配对 &#xff08;悬垂else&#xff09; 68 case标签必须是一个整形常量表达式 69 default也是一种特殊的case标签 …

【github项目更新以及相关常用操作】

文章目录(一)更新github项目以及更新项目里某个特定文件(二)报错(三)github更改默认分支(一)更新github项目以及更新项目里某个特定文件 更新github项目&#xff1a; 1、首先确保你有github账号并且执行过上传操作&#xff08;有项目&#xff0c;项目里有文件 2、点击想更新的…

Oracle PrimaveraUnifier 数据定义(Data Definitions),S1

目录 Basic Cost Code Data Picker 数据类型 数据长度 输入方式 Oracle Primavera Unifier数据定义描述了如何将数据输入到Unifier中并存储。数据定义是构建数据元素&#xff08;表单字段&#xff09;的基础。有三种类型的数据定义&#xff1a; BasicCost CodeData PickerBasic…

ABP框架数据库改为MySQL

项目中如果需要其他方式数据库的支持&#xff0c;那么需要先删除之前的支持程序集&#xff0c;再引入相应的支持程序集。 1、 移除默认SQL Server相关包 在EntityFrameworkCore项目下移除包Microsoft.EntityFrameworkCore.SqlServer、Microsoft.EntityFrameworkCore.Design 2…

如何精准分析特定用户的应用性能问题?这两个功能您一定要了解

应用发布后&#xff0c;尤其在发布初期&#xff0c;我们要格外关注应用的性能稳定性&#xff0c;如ANR、画面卡顿、加载慢等问题&#xff0c;如果不能及时被监测及解决&#xff0c;将会给用户带来非常糟糕的体验&#xff0c;导致低评、差评&#xff0c;甚至造成部分意向用户直接…

.net开发安卓入门 - Hello world!

.net开发安卓入门 - Hello world!前言新建项目启动调试调试效果添加Hello World效果安卓样式常见属性介绍第一类:属性值为true或false第二类&#xff1a;属性值必须为id的引用名第三类&#xff1a;属性值为具体的像素值&#xff0c;如30dip&#xff0c;40px第四类&#xff1a;布…

Python如何解析json数据

json 库可以自字符串或文件中解析JSON。 该库解析JSON后将其转为Python字典或者列表。它也可以转换Python字典或列表为JSON字符串。 解析JSON 创建下面包含JSON数据的字符串 json_string ‘{“first_name”: “Guido”, “last_name”:“Rossum”}’ 它可以被这样解析&#…

官方!杭州市第三批重点建设人工智能应用场景发布,创邻科技Galaxybase入选

近日&#xff0c;杭州市经济和信息化局公开发布《2022年杭州市第三批重点建设的人工智能应用场景清单》&#xff0c;对智慧城市、智慧交通、智慧教育、智慧金融等9个细分领域的申报项目进行遴选&#xff0c;最后以浙江大学、杭州城市大脑、顺丰速运为代表的46个人工智能场景脱颖…

net项目使用花生壳,Cpolar进行内网穿透

使用花生壳或Cpolar进行内网穿透一、注册授权一个花生壳账号二、添加花生壳配置三、修改项目配置信息四、以管理员身份打开vs五、Cpolar内网穿透一、注册授权一个花生壳账号 二、添加花生壳配置 打开花生壳客户端&#xff0c;找到内网穿透&#xff0c;找到添加符号&#xff0…

浅析linux 系统进程冻结(freezing of task)

1 概述 进程冻结是当系统hibernate或者suspend时&#xff0c;对进程进行暂停挂起的一种机制&#xff0c;后面主要以hibernate为例进行介绍。那么为什么要在hibernate或者suspend时需要把进程冻结呢&#xff1f;主要是出于如下的原因&#xff1a; 防止文件系统被修改后无法恢复…

springboot集成security(认证)

目录1. 依赖2. 自定义登录逻辑1. 数据库查询2. security认证1. loadUserByUsername2. PasswordEncorder&#xff08;不加密&#xff09;3. MD5加密数据库密码4. PasswordEncorder&#xff08;加密&#xff09;5. BCryptPasswordEncoder6. 认证流程&#xff08;图&#xff09;3.…

【POJ No. 3764】 最长xor 路径 The xor-longest Path

【POJ No. 3764】 最长xor 路径 The xor-longest Path 北大OJ 题目地址 【题意】 在边权树中&#xff0c;路径p的xor长度被定义为路径p上边权的 &#xff0c;⊕是xor运算符&#xff0c;表示异或。若一个路径有最大的xor长度&#xff0c;则该路径是xor最长的路径。给定n 个节点…

如何正确使用Airtest报告插件?报告小tips上线

1. 前言 在使用Airtest做自动化测试时&#xff0c;默认生成的报告&#xff0c;其实是airtest的专属报告。 它对于poco语句&#xff08;控件测试场景&#xff09;、airtest-selenium语句&#xff08;web测试场景&#xff09;的支持不够完善&#xff0c;因此我们需要用 插件的形…

Shell脚本学习指南(六)——输入/输出、文件与命令执行

文章目录前言标准输入、标准输出与标准错误输出使用read读取行关于重定向额外的重定向运算符文件描述符处理printf的完整介绍波浪号展开与通配符波浪号展开使用通配符命令替换为head命令使用sed创建邮件列表简易数学&#xff1a;expr引用执行顺序与evaleval语句subShell与代码块…

CAS:210236-90-1,Fluorescein Tyramide,荧光素酪胺绿色荧光试剂

一&#xff1a;产品描述 1、名称 英文&#xff1a;Fluorescein Tyramide 中文&#xff1a;荧光素酪胺 2、CAS编号&#xff1a;210236-90-1 3、分子式&#xff1a;C29H21NO7 4、分子量&#xff1a;495.49 6、储存&#xff1a; -20℃可长期保存&#xff0c;注意避光并置于…

个人微信号API接口,微信机器人

自定义的微信机器人&#xff0c;需求是可以自己批量添加好友、批量打标签等进行好友管理&#xff0c;社群管理需要自动聊天&#xff0c;自动回复&#xff0c;发朋友圈&#xff0c;转发语音&#xff0c;以及定时群发等&#xff0c;还可以提取聊天内容&#xff0c;进行数据汇总&a…

美妆商场系统/在线购物系统/美妆销售系统

摘 要 本毕业设计的内容是设计并且实现一个基于JSP技术的美妆商场系统。它是在Windows下&#xff0c;以MYSQL为数据库开发平台&#xff0c;Tomcat网络信息服务作为应用服务器。美妆商场系统的功能已基本实现&#xff0c;主要包括个人中心、用户管理、商品中心管理、商品类型管…

故障分析 | MySQL 使用 load data 导入数据错误的一个场景

作者&#xff1a;刘晨 网名 bisal &#xff0c;具有十年以上的应用运维工作经验&#xff0c;目前主要从事数据库应用研发能力提升和技术管理相关的工作&#xff0c;Oracle ACE &#xff0c;腾讯云TVP&#xff0c;拥有 Oracle OCM & OCP 、EXIN DevOps Master 、SCJP 等国际…