首页 > 其他分享 >upload-labs

upload-labs

时间:2024-01-12 22:25:30浏览次数:34  
标签:文件 upload labs ext file Pass php 上传

Pass-01

前端js验证

谷歌设置->隐私安全->网站设置->JavaScript

image-20240101165321384

上传php文件

复制图片地址 蚁剑连接

文件上传成功

Pass-02

MIME是一种类型(例如:text,image),MIME是一种标准,是用来表示文档,文件或字节流的性质和格式(告诉浏览器这个文件的类型,目的跟文件扩展名类似,但更加具体 )

允许上传文件格式:jpeg,png,gif

抓包 修改Content-Type:image/png

文件上传成功

Pass-03

deny_ext(黑名单)拒绝后缀名为asp,aspx,php,jsp文件

查看源码 不允许上传.asp,.aspx,.php,.jsp后缀文件

抓包 使用php3.phtml等后缀

Pass-04

黑名单绕过

查看源码:

$deny_ext=array(".php",".php5",".php4",".php3",".php2",".php1",".html",".htm",".phtml",".pht",".pHp",".pHp5",".pHp4",".pHp3",".pHp2",".pHp1",".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",".ini");

不允许上传以上文件类型 .htaccess 没在黑名单里面

先上传.htaccess文件

image-20240101172920884

把文件名含有jpg的文件当成php文件执行

上传jpg文件(图片马)

蚁剑连接

图片马

一张图片 一个写有一句话木马的php文件

打开终端 cd

image-20240101173342628

Pass-05

$file_ext = strtolower($file_ext); //转换为小写

源码没有转换为小写 改为.PHP

抓包 修改.PHP

Pass-06

.php+空格

抓包

Pass-07

$file_name = deldot($file_name);//删除文件名末尾的点

源码中没有删除文件末尾的点

改为.php.

文件上传成功

Pass-08

$file_ext = str_ireplace('::$DATA', '', $file_ext);//去除字符串::$DATA

.php::$DATA 抓包

Pass-09

查看源码

$file_ext = strrchr($file_name, '.');

末尾的点和空格只删除了一次 用.php. .(.空格.)绕过

文件上传成功

Pass-10

查看源码

$file_name = str_ireplace($deny_ext,"", $file_name);

黑名单里面的后缀为空 但是只是替换了一次 所以可以用双写 pphphp绕过为.pphphp

文件上传成功

Pass-11

白名单绕过 GET

%00截断:xx.php%00

Pass-12

Pass-13

上传图片马

构造的URL地址为

include.php?file=upload/6920240104114225.jpg

蚁剑连接成功.

Pass-14

getimagesize()函数:测定GIF,JPG,PNG,SWF,SWC,PSD,TIFF,BMP,IFF,JP2,JPX,JB2,JPC,XBM 或 WBMP 图像文件的大小 返回图像的尺寸,文件类型,图片高度与宽度

(函数成功返回的就是一个数组,失败则返回 FALSE 并产生一条 E_WARNING 级的错误信息0

同理上传图片马

Pass-15

exif_imagetype() 函数:读取图像的第一个字节并检查其签名。如果发现了恰当的签名则返回一个对应的常量,否则返回 FALSE

同理上传图片马

Pass-16

二次渲染

Pass-17

条件竞争

上传php文件

进入intruder攻击

在positions中修改

进入payloads循环攻击10000次

询问网站

Pass-18

图片型条件竞争

上传jpg文件

同理

Pass-19

上传php文件

可在网页上修改文件名

Pass-20

先验证content-type 是否合法

判断file数组最后一个元素是否合法

在对数组第一位和$file[count($filr)-1]拼接保存判断合法

抓包 设置content-type和file数组 使file数组最后一个元素为白名单内的元素

$file[xount($file)-1]设置为空即可通过move_upload_file

标签:文件,upload,labs,ext,file,Pass,php,上传
From: https://www.cnblogs.com/ningweiyu/p/17961690

相关文章

  • [GXYCTF2019]BabyUpload
    [GXYCTF2019]BabyUpload打开靶场看到个上传文件的选项,应该是上传文件漏洞上传个一句话木马文件尝试<?phpeval($_POST['cmd']);?>提示不能带有php的后缀改成jpg后缀,提示“上传类型也太露骨了吧!”修改了Content-Type为image/jpeg还是不行换了一种一句话木马GIF89a<sc......
  • Sqli-labs安装遇到的坑
    Audi-1/sqli-labs 下载完直接拉到小皮目录下直接就可以用说说我安装时遇到的几个坑,希望能帮助你们。。。。第一个就是初始化的时候,一直显示说我配置文件29行有问题我反复百度反复搜索,最后连css框架都没了....直接就是大白字改到这我人都傻了,这是为啥呐?后来知道是改的29行的文字要......
  • INFINI Labs 产品更新 | Console 数据迁移支持 Percentiles 均匀分区
    INFINILabs产品又更新啦~,包括Consolev1.14.0,Gateway1.21.0。其中Console数据迁移支持Percentiles均匀分区,修复已知Bug等。以下是本次更新的详细说明。##INFINIConsolev1.14.0INFINIConsole是一款非常轻量级的多集群、跨版本的搜索基础设施统一管控平台。通过对流行......
  • INFINI Labs 产品更新 | Console 数据迁移支持 Percentiles 均匀分区
    INFINILabs产品又更新啦~,包括Consolev1.14.0,Gateway1.21.0。其中Console数据迁移支持Percentiles均匀分区,修复已知Bug等。以下是本次更新的详细说明。INFINIConsolev1.14.0INFINIConsole是一款非常轻量级的多集群、跨版本的搜索基础设施统一管控平台。通过对流行......
  • 福建科立讯通信有限公司指挥调度管理平台-upload接口任意上传
    FOFA语法body="指挥调度管理平台"&&title=="指挥调度管理平台"POCPOST/api/client/upload.phpHTTP/1.1Host:{{Hostname}}Content-Length:180Cache-Control:max-age=0Upgrade-Insecure-Requests:1Content-Type:multipart/form-data;boundary=----......
  • sqli-labs(sql注入漏洞)靶场通关笔记(慢更新)
    sqli-labs(sql注入)靶场通关笔记sqli-labs这个靶场对于想学习和了解sql注入的小白来说(比如说像博主这样的菜菜),我也是开始打这个靶场,来具体的学习一下sql注入,靶场里面包含了很多的sql注入的情况,以及我们在sql注入的时候遇到的阻碍。sqli-labs第一关:第一步判断是否存在sql注入:1......
  • uniapp实战 -- 个人信息维护(含选择图片 uni.chooseMedia,上传文件 uni.uploadFile,获取
    效果预览相关代码页面–我的src\pages\my\my.vue<!--个人资料--><viewclass="profile":style="{paddingTop:safeAreaInsets!.top+'px'}"><!--情况1:已登录--><viewclass="overview"v-if="mem......
  • Linux Debian12使用podman安装upload-labs靶场环境
    一、upload-labs简介PHP语言编写,持续收集渗透测试和CTF中针对文件上传漏洞的靶场,总共21关,每一关都包含着不同的上传绕过方式。二、安装podman环境LinuxDebian系统如果没有安装podman容器环境,可以参考这篇文章先安装podman环境,LinuxDebian11使用国内源安装Podman环境三、pod......
  • 最新搭建upload-labs和XSS漏洞测试平台
    搭建upload-labsupload-labs是一个使用PHP语言编写的、专门收集渗透测试和CTF中遇到的各种上传漏洞的靶场,旨在帮助大家对上传漏洞有一个全面的了解。目前一共20关,每一关都包含不同的上传方式。GitHub仓库为c0ny1/upload-labs/,推荐使用Windows系统,因为除了Pass-19必须在Linux系统......
  • 如何通过蛋壳Uploader把ipa文件上传到App Store教程步骤
    在移动应用开发的过程中,将ipa文件上传至AppStore是非常关键的一环。对于那些没有Mac电脑的开发者来说,这一步骤可能会成为一个挑战。幸运的是,有一个名为“蛋壳Uploader”的在线工具,可以帮助开发者在没有Mac的情况下,轻松上传ipa文件到AppStore。一、准备工作在使用蛋壳Uploader......