iis服务器助手广告广告
返回顶部
首页 > 资讯 > 后端开发 > PHP编程 >【文件上传漏洞-04】文件上传路径截断靶场实战
  • 622
分享到

【文件上传漏洞-04】文件上传路径截断靶场实战

安全Poweredby金山文档 2023-09-05 12:09:19 622人浏览 独家记忆
摘要

路径截断 00截断 在ASCII码中,00代表的是空(Null)字符,在URL中表现为%00。在文件截断攻击中,就是采用空字符来误导服务器截断字符串,以达到绕过攻击的目的。00截断会导致文件上传路径截断 原理: 服务器后台采用的是m

路径截断

00截断

在ASCII码中,00代表的是空(Null)字符,在URL中表现为%00。在文件截断攻击中,就是采用空字符来误导服务器截断字符串,以达到绕过攻击的目的。00截断会导致文件上传路径截断

原理:

服务器后台采用的是move_uploaded_file()函数将上传的文件移动到新位置也就是文件另存,函数在执行的时候会有两个参数,第一个参数就是原文件的路径,第二个参数就是目标函数的路径,这两个路径都是作为字符串来出现的;该函数属于文件系统函数,涉及到文件操作,底层是采用C语言实现的,在C语言中,判断字符串是否结束是以空字符为标志的。因此,当上传的文件名中含有%00符号时,服务器会认为字符串到此结束,从而达到绕过的目的

简单来说,在C语言中%00是字符串的结束标识符,而PHP就是C语言写的,所以继承了C语言的特性,所以判断为%00是结束符号不会继续往后执行。

利用前提条件:

  • php<5.3.29,且GPC关闭

  • 能够自定义上传路径

漏洞利用

  1. PHPstudy切换到5.2.17版本

  1. 关闭GPC,打开对应的php.ini文件将GPC关闭,然后重启服务器

实战前准备

准备好一个文件,该文件可能是木马,也可能是其他任意文件,本实验以php探针作为测试文件,来验证是否存在文件上传漏洞以及绕过漏洞检测的方法。

文件名为:phpinfo.php,文件内容:

靶场环境:upload-labs

less12

实战详细步骤

测试过程:可以先测试前端js绕过→MIME绕过→服务端后缀名绕过→文件内容绕过等

访问upload-labs并点击进入第12关

  1. 点击浏览,选择提前准备的探针文件phpinfo.php

  1. 在页面点击上传按钮之前,打开burp,打开拦截请求

  1. 打开拦截后,返回页面继续上传,之后发现burp成功拦截请求,这意味着浏览器端并没有检测文件后缀名。将拦截的请求,右键发送到repeater模块。

  1. 在repeater模块中,点击send,查看响应结果,出现错误提示:只允许上传.jpg|.png|.gif类型文件

  1. 在repeater模块中,将Http请求中的文件后缀名由php修改为gif,点击send,可以看到响应中正常,出现文件上传路径,说明文件上传成功。(由此 我们可以断定服务器在文件上传进行验证的时候,未验证文件内容,也未验证Content-Type类型,但是服务器会把我们上传的文件进行重命名)

  1. 返回Proxy模块中按照上一步操作,http请求中的文件后缀名由php修改为gif,点击forward,可以看到请求发送成功,并收到后端的响应显示如下,由于该文件不是真的图片,因此显示失败。

  1. 点击图标右键选择新建标签页打开,可以看到无法执行(这是由于于所上传的文件无法按照php解析)

  1. 在http请求中,我们发现了"save_path",顾名思义就是文件上传的路径,也可以影响文件存储路径,而根据响应的文件路径,可以发现服务器对上传的文件进行了重命名。在Burp中的repeater模块,尝试是否可以在http请求的请求行中将上传文件另存为.php的文件呢?尝试之后发现,上传出错。

  1. 由于我们只想保存到test.php后面路径都不需要了,因此我们只能在repeater模块中进行00截断。在http请求的路径参数中添加test.php%00来进行文件路径截断,由于C语言会将空字符认为是字符串终止符号,函数move_uploaded_file()在保存文件时会将%00后面的字符“截断”,导致服务器将文件以攻击者想要的后缀名存储在攻击者想要的位置。

  1. 在Proxy模块中,http请求中的文件后缀名由php修改为gif,且在文件路径后添加test.php%00,点击forward。返回到浏览器,可以看到文件成功上传。

  1. 点击图标右键选择新建标签页打开,发现打开页面404,此时我们只需删除test.php符号后的字段,可以看到文件的代码被成功执行。

注意:在http请求中,存储路径可控,是可以采用00截断的一个条件,且采用00阶段是为了使上传的文件可执行。

来源地址:https://blog.csdn.net/2301_76334474/article/details/129074907

--结束END--

本文标题: 【文件上传漏洞-04】文件上传路径截断靶场实战

本文链接: https://www.lsjlt.com/news/395321.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • 【文件上传漏洞-04】文件上传路径截断靶场实战
    路径截断 00截断 在ASCII码中,00代表的是空(Null)字符,在URL中表现为%00。在文件截断攻击中,就是采用空字符来误导服务器截断字符串,以达到绕过攻击的目的。00截断会导致文件上传路径截断 原理: 服务器后台采用的是m...
    99+
    2023-09-05
    安全 Powered by 金山文档
  • 文件上传靶场-Nginx文件解析漏洞
    目录 1.靶场漏洞说明 2.漏洞利用过程 1.靶场漏洞说明 靶场地址:http://106.15.50.112:8020/ 一个简单的Nginx文件上传靶场,php配置中将cgi.fix_pathinfo设置为1,如果我们设置一个文件路径...
    99+
    2023-09-25
    php web安全 nginx 网络安全 学习
  • 文件上传漏洞(一) upload-labs靶场练习
    upload-labs靶场练习 1.环境搭建2.关卡解析2.1 less-1 - 基于前端JS的检测2.2 less-2 - MIME头认证2.3 less-3 php3,4,5扩展解析2.4...
    99+
    2023-09-01
    php 服务器 开发语言
  • upload-labs-master文件上传漏洞靶场详解(1-17)
    目录 前言 pass-01 pass-02 pass-03 pass-04 pass-05 pass-06 pass-07 pass-08 pass-09 pass-10  pass-11  pass-12 ...
    99+
    2023-09-16
    php 网络安全
  • 文件上传漏洞
    目录 前言 1.原理 2.类型 3.复现 3.1环境 3.1.1函数介绍 3.2过程 3.2.1客户端绕过 3.2.2服务端绕过         黑名单检查后缀         白名单检查后缀 前言 文件上传漏洞是wb安全中经常用到的一...
    99+
    2023-09-03
    安全 网络 web安全 php
  • 文件上传漏洞靶机搭建教程
    uplad-labs靶场 注意:该靶场为优秀的github开源项目,项目地址为:https://github.com/c0ny1/upload-labs 介绍 upload-labs是一个使用php语言编写的,专门收集渗透测试和CTF中遇到...
    99+
    2023-08-31
    安全 php web安全
  • 文件上传漏洞 (Part1)
    使用的平台是BWAPP 正常的安装完 bwapp ,在文件上传模块能够成功上传文件,但文件却不可以被保存,原因是images文件夹的权限不够,解决方法: docker exec -it 你的do...
    99+
    2023-09-10
    安全 php web安全
  • PHP文件上传漏洞
    前言  上礼拜一直在搞期中测试和unctf,没啥时间整理,这礼拜继续整理! PHP文件上传基础以及基本上传流程 文件上传前端:  前端部分往往都是表单提交,input 的 type 设置为 file ...
    99+
    2023-09-15
    php 开发语言 前端
  • web漏洞之文件上传漏洞
    文章目录 一、漏洞原因二、漏洞危害三、漏洞利用1.三个条件2.利用方式3.绕过方式a.绕过JS验证① BP绕过② F12绕过③ 菜刀上传实操 b.绕过MIME-Type验证c.绕过黑名...
    99+
    2023-08-31
    前端 web安全 网络
  • 文件上传漏洞详解
    1.什么是文件上传漏洞 文件上传漏洞是指由于程序员在对用户文件上传部分的控制不足或者处理缺陷,而导致的用户可以越过其本身权限向服务器上上传可执行的动态脚本文件。这里上传的文件可以是木马,病毒,恶意脚本...
    99+
    2023-09-10
    安全 web安全
  • 浅谈文件上传漏洞
    前言 一、文件上传漏洞的原理 文件上传漏洞是指用户上传了一个可执行的脚本文件(php、jsp、xml、cer等文件),而WEB系统没有进行检测或逻辑做的不够安全。文件上传功能本身没有问题,问题在于...
    99+
    2023-09-10
    php web安全 安全
  • 文件上传漏之upload靶场练习——渗透day12
    一、靶场准备         将upload解压在PhpStudy2018\PHPTutorial\WWW\upload          二、靶场练习过程         (一)、pass-01                    ...
    99+
    2023-09-26
    安全 xss html
  • 文件上传漏洞upload-labs靶场通关教程 1-20(带原理)
    Pass-01 (JS验证) 提示:本pass在客户端使用js对不合法图片进行检查  这里直接跳出弹窗提示 了,可以看出来这个验证是在前端进行的,众所周知,前端都是纸老虎直接禁用掉就好了   从form表单可以看出他在使用了onsubm...
    99+
    2023-08-31
    前端 javascript 网络安全
  • PHP-nginx-ctfShow文件上传漏洞
    CTFSHOW-文件上传-151到161关卡 151 152-JS验证+MIME Content-Type: image/png 153-JS验证+user.ini https://www.cnblogs.com/N...
    99+
    2023-10-05
    php nginx 安全
  • dvwa中的文件上传漏洞
    环境: Metasploitable2: 192.168.11.157 dvwa版本:Version 1.0.7 (Release date: 08/09/10) kail机器:192.168.11.156 一、什么是文件上传...
    99+
    2023-09-11
    web安全 dvwa 文件上传漏洞 Powered by 金山文档
  • 文件上传漏洞总结(全)
    文件上传漏洞 凡是存在上传文件的地方,都有可能存在文件上传漏洞,并不是说有文件上传就一定有文件上传漏洞。 原理 这主要看一些文件上传的代码有没有 严格限制用户上传的文件类型,比如,只可以上传.jpg|.png|.gif文件,但是由于代码不严...
    99+
    2023-10-06
    php 安全 web安全
  • 【文件上传漏洞】user.ini留后门
    一、什么是.user.ini? php.ini是php默认的配置文件。其中包含四种配置, 在PHP_INI_USER的配置项中,提到.user.ini。 这里作用解释如下: 除了主 php.ini 之外,PHP 还会在每个目录下扫描 ...
    99+
    2023-09-03
    php 开发语言
  • 文件上传漏洞通关教程
    原理:应用程序中存在上传功能,但是对上传文件没有经过合法性校验或者检验函数存在缺陷,导致攻击者可以上传木马文件到服务器application/octet-stream pass-01:(前端js+抓包) 上传php文件页面提示不允许上传(前...
    99+
    2023-08-31
    javascript php web安全
  • Dcat Admin文件上传漏洞复现
    Dcat Admin框架 Dcat Admin是一个基于laravel-admin二次开发而成的后台系统构建工具,只需极少的代码即可快速构建出一个功能完善的高颜值后台系统。支持页面一键生成CURD代码,内置丰富的后台常用组件,开箱即用,...
    99+
    2023-09-07
    安全 web安全
  • 网站漏洞修复之Metinfo 文件上传漏洞
    Metinfo CMS系统被爆出网站存在漏洞,可上传任意文件到网站根目录下,从而使攻击者可以轻易的获取网站的webshell权限,对网站进行篡改与攻击,目前该网站漏洞影响范围是Metinfo 6.2.0最新版本,以及以前的所有Metinfo...
    99+
    2023-06-03
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作