首页 > 其他分享 >iwebsec-文件上传 02 文件名过滤绕过

iwebsec-文件上传 02 文件名过滤绕过

时间:2023-08-19 15:11:45浏览次数:37  
标签:02 文件 name 文件名 echo 过滤 iwebsec 上传

01、题目分析

文件上传过滤类型,题目中已经告诉我们了,我们已经知道了过滤类型,但是出于学习和判断的目的,那么我们还是得判断一下文件上传过滤类型

02、文件上传

先用哥斯拉创建一个一句话木马

命名为1.php

然后尝试上传木马

image

image

依旧是被拦截,但是这次burp抓到了数据包,说明是后端过滤

image

分析数据包可以发现,不仅仅是过滤了文件名,还有可能过滤了文件类型,那我们可以先上传一个正常的图片文件,然后抓包分析下正常的数据包是什么样的

image

image

-----WebKitFormBoundaryQRZRLsAeHLY4BFQD
Content-Disposition: form-data; name="upfile"; filename="kongbai.png"
Content-Type: image/png

通过分析数据包,我们可以得出猜出有可能有三种过滤方式,第一种是针对文件名过滤,第二种是针对文件类型过滤,第三种是针对文件名和文件类型的双重过滤,我们先试试把php修改下大小写能不能绕过过滤
image

image

那就没什么好说的了,复制图片地址,哥斯拉连接,拿到webshell

image

03、源码分析

<?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上传时间:\">"; 
	}
}
}

?>

标签:02,文件,name,文件名,echo,过滤,iwebsec,上传
From: https://www.cnblogs.com/bdrwmy/p/17642485.html

相关文章

  • 20230812-网络流 I
    20230812P2764最小路径覆盖问题题目描述传送门给定一张DAG,要求用最少的路径覆盖整张图。数据范围:\(n,m\le100\)。Solution经典问题考虑把每一个点拆成两个点:入点和出点对于每一条边\(u\tov\),我们把\(u\)的出点与\(v\)的入点相连再把\(st\)与所有点的出点相......
  • ​Win10_22H2_2023年8月累积更新
    大版本号:22H2内部版本号:19045.3324大版本每年发布一次,如22H2、23H2小版本每月发布一次,如22H2.1234、22H2.2345功能排序:企业版>教育版>专业版,家庭版不建议装消费者版和商业版区别:镜像包含系统版本不同,前者包含家庭、专业和教育;后者包含专业、教育和企业。下载完记得验证hash值,以......
  • ​Win11_22H2_2023年8月累积更新
    大版本号:22H2内部版本号:22621.2134大版本每年发布一次,如22H2、23H2小版本每月发布一次,如22H2.1234、22H2.2345功能排序:企业版>教育版>专业版,家庭版不要装消费者版和商业版区别:镜像包含系统版本不同,前者包含家庭、专业和教育;后者包含专业、教育和企业。下载完记得验证hash值,以防......
  • Xmind 免费激活教程(2023最新,亲测有效)
    经本人亲测可用,先上图:下载地址见文末,下载成功后,解压,目录如下:安装&关闭更新双击xmind-8-update7-windows.exe,开始安装,同意协议后,一路点击下一步即可。安装成功后,在Xmind左上方菜单栏依次点击:【编辑】–>【首选项】–>【常规】,如下图所示,取消勾选【启动时检查更新和消......
  • 2023-Q2 学习记录
    2023-Q2学习记录日期学习/提升/事项2023年4月11日Eureka搭建、使用;Ribbon、load-Balance的使用;2023年4月12日使用Hystrix进行熔断的操作;Hash表第一部分;2023年4月13日解决Hystrix的使用bug;Hash表第二、三部分;字符串是否由多个子串组成......
  • iwebsec-文件上传 01 前端JS过滤绕过
    01、题目分析事实上,文件上传过滤是很正常的,需要自行判断是前端过滤还是后端过滤,一般上传木马的时候可以进行抓包,如果直接点击上传直接弹出禁止上传的界面,而没有抓到数据包,那就说明是前端js过滤,但是这个题目已经说明了是前端js过滤,就不用再测试了02、文件上传先用哥斯拉创建一个......
  • 2023/8/18
    早晨七点起床,早饭吃了个难吃的萝卜煎饺,以及一碗紫米粥上午是尴尬的班会我超,居然有人表演方舟启动,这下我不得不表演崩铁启动了还行,智算七班的女生质量比我预想的高班会下课,我绕着44教绕了两圈也没找找我的自行车,果然还是共享单车方便被迫花了1.5r骑共享单车找回了我的车......
  • KubeSphere 社区双周报 | Java functions framework 支持 SkyWalking | 2023.8.4-8.17
    KubeSphere社区双周报主要整理展示新增的贡献者名单和证书、新增的讲师证书以及两周内提交过commit的贡献者,并对近期重要的PR进行解析,同时还包含了线上/线下活动和布道推广等一系列社区动态。本次双周报涵盖时间为:2023.08.04-2023.08.17。贡献者名单新晋KubeSphereCon......
  • Visual Studio 2022 没有MySQLDatabase数据源
    解决办法: ①下载安装MySQLODBC驱动②运行ODBC数据源管理器③添加MySQL数据源,填入相应信息,测试通过即可④打开VS 工具>>连接到数据库,选择MicrosoftODBCDataSource⑤下拉列表中选择刚才新建的ODBC数据源,确定。       由此,在VS的侧边栏就可以对MySQL......
  • 2023/08/19
    键盘录入行数,输出打印杨辉三角形两种格式杨辉三角形importjava.util.Scanner;publicclassTest{publicstaticvoidmain(String[]args){Scannersc=newScanner(System.in);System.out.print("请输入需要打印杨辉三角形的行数:");......