upload-labs pass10-14

2023-10-28

pass-10 . .绕过(点空格点绕过)

查看源码

这是一个后端黑名单检查

str_ireplace() 的作用是寻找文件名中存在的黑名单字符

上传一个php文件

 

查看提示

 

可以把PHP文件后缀名改为可以上传的文件类型

上传成功

 

pass-11 双写绕过

查看源码

查看提示

 

提示中说会从文中去除以上那些字符

看代码可以看出来它是将上传文件扩展名包含 $deny_ext中的话变成空扩展名,也就是没有扩展名。

使用了str_ireplace()函数,这个函数他不区分大小写的替换函数

比如上传一个1.phtmhp,在执行完函数后就变成了1.php。因为里面有htm就会替换为空

str_ireplace()的作用是寻找文件名中存在的黑名单字符

我们就上传一个php文件,然后抓包,改一下后缀

 

 

上传成功

 

到浏览器访问一下

 

pass-12 %00截断绕过(GET)

查看一下源码

查看提示

从源码中看到只允许上传.jpg|.png|.gif类型的文件

上传一个php

 代码对上传进行了白名单限制,但也对上传的文件进行了文件名重构

文件截断绕过的检测原理是:

由于00代表结束符,PHP会把00后面的所有字符删除

但是截断的条件是PHP版本小于5.3.4、magic_quotes_gpc为off状态

因为magic_quotes_gpc为ON状态会把所有引号进行转义

 

 

绕过方法:

GET方法中绕过加入00截断(在URL里)

POST方法中传入%00并解码(十六进制)

截断的文件被重命名了,并且路径是可控的。

 

 上传文件,抓包

可以看到保存的路径在URL中,改掉原来的文件后缀,并且再URL中加入%00

 

在url中%00表示ascii码中的0,而0作为特殊字符保留,表示字符结束,也就是说,在保存文件的时候,如果路径参数(例: $img_path)中出现了%00,就会认为路径到这里就已经结束了,从而忽略后面一系列的参数,比如$img_path = ../upload/2.php%00/2.jpg,此时,路径参数的后半部分就会被%00给截断,从而变成$img_path = ../upload/2.php

pass-13 %00截断绕过(POST)

查看源码

 

只允许上传.jpg|.png|.gif类型文件

和12不同的是这个是post方式

查看源码

上传一个文件,抓包

save_path不在URL中了,在post数据里

所以我们要在这里添加上路径并且加上%00

这里要注意十六进制转码

 

pass-14 图片马绕过

 

该关需要上传图片马

什么是图片马?

图片马指的是代码写入后不被破坏图片为前提,图片仍可以正常打开。图片马是web渗透测试时的必备。

所以我们先来制作一个图片马

先准备好图片和asp文件

Win+R——cmd

cd到原始图片的目录路径下

我们就可以得到一个图片马

 

我们需要做三种后缀的图片马,也是以上步骤

 

上传tpm.gif,上传成功

 

在本关页面“文件包含漏洞”几个字上面点一下,可以得到文件包含漏洞所在url和代码,从如下代码可知,图片马可以通过file参数包含。

 

 

要上传成功后,被作者提供的包含漏洞包含后能够输出OK即可。

其余后缀名的文件也是如此操作

 

 

 

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

upload-labs pass10-14 的相关文章

随机推荐

  • Error[Li005]: no definition for “assert_failed“ 的解决办法

    开发环境 IAR 单片机型号 stm8 具体报错 Error Li005 no definition for assert failed referenced from lt 工程路径 名称 gt Debug Obj stm810x gpi
  • keil5 调试出现“EVALUATION MODE Running with Code Size Limit:2K“解决办法

    楼主在keil5上安装51芯片包后 使用中出现 EVALUATION MODE Running with Code Size Limit 2K 提示 但不影响正常使用 原因是keil5的51包未正常安装 使用生成ID code解决 最终获得
  • L1-6 整除光棍 (20分)

    这里所谓的 光棍 并不是指单身汪啦 说的是全部由1组成的数字 比如1 11 111 1111等 传说任何一个光棍都能被一个不以5结尾的奇数整除 比如 111111就可以被13整除 现在 你的程序要读入一个整数x 这个整数一定是奇数并且不以5
  • 【云原生之kubernetes】kubernetes集群高级资源对象statefulesets

    云原生之kubernetes kubernetes集群高级资源对象statefulesets 一 statefulesets介绍 1 statefulesets简介 2 statefulesets特点 二 检查本地kubernetes集群状
  • STM32简介

    文章目录 STM32简介 STM32选型 STM32F1片上资源 外设 STM32系列芯片命名规则 STM32系统结构 引脚定义 启动配置 最小系统电路 STM32简介 这一节只用大概混个眼熟 不要深究 STM32选型 STM32可分为Hi
  • 一文读懂XPath基本语法_XPath语法详解_XPath教程

    因为最近在学习与整理有关python爬虫的文章 连带遇到XPath的使用 就顺便一起整理出来 XPath与自动化的关系 XPath是一门在XML文档中查找信息的语言 可用来在XML文档中对元素和属性进行遍历 XPath是用来选择 节点 的一
  • MCAL介绍及Module Plugin开发流程总结

    Mcal 微控制器抽象层位于AUTOSAR分层模型中BSW最底层 包含内部驱动 可以直接访问微控制器和片内外设 MCAL又可以分为微控制器驱动 存储器驱动 通信驱动和I O驱动四个部分 各部分又由具体的与微控制器硬件相对应的驱动模块组成 如
  • MSI cache一致性协议

    按照高速缓存的写策略的不同 有写直达和写回WB两种高速缓存 1 写直达高速缓存 一旦高速缓存中的一个字被修改 则在主存中要立即修改 2 写回高速缓存 并不是立即写回 而是当被修改的字从高速缓存中被替换或清除时 才真正修改主存 在侦听协议的设
  • Kettle——转换步骤信息统计两种实现

    Kettle 步骤数据处理数量记录获取 Kettle获取数据处理条数记录日志信息 以前的途径是配置转换的日志信息来保存到数据库中 这种方式不是很灵活 有没有一种类似步骤方式来进行获取呢 Kettle在5 0版本中提供了一个步骤 在 统计 转
  • 3d查看器无法加载三维模型_这几款倾斜实景三维裸眼3D采集软件你了解吗?

    文章转载于众智绘云 部分软件介绍由GIS前沿添加和修改 版权归原作者所有 作为国际测绘领域一项高新技术 倾斜摄影测量 ObliquePhotogrammetry 因其能快速 高效获取地面高分辨率 高重叠度及全视角的影像数据信息 近年来测绘领
  • VC++控制音量

    Visual C 开发技术大全 第26章声音与动画编程 本章讲述在VC 6 0环境下 如何使用Win32 GDI GDI DirectShow等开发接口实现声音与动画的处理 本小节为大家介绍控制音量 26 1 3 控制音量 Windows
  • XML学习之Schema学习案例

    一 Schema 约束xml文件 1 xml样式
  • Java对学生成绩排序——通过list.sort()对list进行排序

    题目 输入任意 用户 成绩 序列 可以获得成绩从高到低或从低到高的排列 相同成绩 都按先录入排列在前的规则处理 例示 jack 70 peter 96 Tom 70 smith 67 从高到低 成绩 peter 96 jack 70 Tom
  • JS页面设置

    转自 http hi baidu com rnckty item 8a234fd861f07b31e2108f37 div class Noprint div
  • 四轮转向与前轮转向二自由度车辆方程推导与时域分析

    四轮转向与前轮转向二自由度车辆方程推导与时域分析
  • 前端插件之 bootstrap-select API 介绍及使用

    1 组件开源地址以及API说明 bootstrap select bootstrap select Examples 2 使用前提 引入bootstrap select 既然是bootstrap select 组件肯定是依赖bootstra
  • 数论中的欧拉函数

    在数论中 对于一正整数 n n n 欧拉函数 n varphi n n 定义为
  • mysql 函数定义字符串_MySQL函数基础——字符串函数详解

    昨天 咱们对MySQL的数学函数进行了讲解 今天 咱们再来解析MySQL字符串函数 字符串函数主要用来处理数据库中的字符串数据 MySQL中字符串函数有 计算字符串长度函数 字符串合并函数 字符串替换函数 字符串比较函数 查找指定字符串位置
  • 【HJ46】截取字符串

    题目描述 输入一个字符串和一个整数 k 截取字符串的前k个字符并输出 本题输入含有多组数据 数据范围 字符串长度满足 1 100 k 满足 1 n 输入描述 1 输入待截取的字符串 2 输入一个正整数k 代表截取的长度 输出描述 截取后的字
  • upload-labs pass10-14

    pass 10 绕过 点空格点绕过 查看源码 这是一个后端黑名单检查 str ireplace 的作用是寻找文件名中存在的黑名单字符 上传一个php文件 查看提示 可以把PHP文件后缀名改为可以上传的文件类型 上传成功 pass 11 双写