前言

项目地址:https://github.com/c0ny1/upload-labs

pass-01(前端验证)

绕过方法:https://www.cnblogs.com/bk76120/p/12398729.html

pass-02(MIME类型过滤)

绕过方法:https://www.cnblogs.com/bk76120/p/13766912.html

pass-03(黑名单验证)

绕过方法:https://www.cnblogs.com/bk76120/p/13766916.html

pass-04(黑名单验证)

绕过方法1

先上传一个.htaccess文件在上传一个jpg文件即可。

.htaccess文件内容:AddType application/x-httpd-php .jpg 把jpg解析为PHP



利用前提

找到:LoadModule rewrite_module modules/mod_rewrite.so 去掉前面的注释符号#



找到Allowoverride None改为Allowoverride All

成功



经过测试PHP带nts的都不成功,有时间好好看一下。

绕过方法2:利用PHP和Windows的特性

以下符号在正则匹配时的相等性

双引号" = 点好.

大于号> = 问号?

小于号< = 星号*

第一次上传文件到系统后Windows冒号特性会把冒号后的内容清空,但是不会把内容写进文件。





第二次上传:test.< 把内容写进test.php



pass-05(黑名单验证)

已经不能上传.htaccess了

绕过方法

pass-04第二种绕过方法

pass-06(黑名单验证)

没有判断大小写

修改扩展名.php为.Php即可

成功

pass-07(黑名单验证)

没有去首尾空



在*.php后面加上空格即可



成功

pass-08(黑名单验证)

没有过滤文件末尾的.



用burpsuite抓包改文件名为:**.php.

pass-09(黑名单验证)

什么是:$DATA以后再补充

未过滤:::$DATA



.php::$DATA为后缀的文件在windows中会被自动去掉不符规则的字符,用burpsuite上传

pass-10(黑名单验证)



我们看看deldot函数是怎么写的。

删除文件末尾的.直到文件末尾不等于.



假如我们修改文件名为:**.Php. .会经过的步骤

  1. 删除文件末尾的.,会变成:**.Php. #注意后面已经是[空格]了
  2. 转换为小写:**.php. #后面还有空格
  3. 去首尾空:**.php.
  4. 上传成功



文件上传漏洞靶机upload-labs(1到10)的更多相关文章

  1. DVWA 黑客攻防演练(五)文件上传漏洞 File Upload

    说起文件上传漏洞 ,可谓是印象深刻.有次公司的网站突然访问不到了,同事去服务器看了一下.所有 webroot 文件夹下的所有文件都被重命名成其他文件,比如 jsp 文件变成 jsp.s ,以致于路径映 ...

  2. 文件上传漏洞演示脚本之js验证

    文件上传漏洞演示脚本之js验证 0 0       716   关于文件上传漏洞,想必玩web安全的同学们都有接触,之前本站也发布过一篇文章介绍文件上传漏洞的各种绕过方法,但是只是有文档却没有演示代码 ...

  3. WordPress NextGEN Gallery ‘upload.php’任意文件上传漏洞

    漏洞名称: WordPress NextGEN Gallery ‘upload.php’任意文件上传漏洞 CNNVD编号: CNNVD-201306-259 发布时间: 2013-06-20 更新时间 ...

  4. 【DVWA】File Upload(文件上传漏洞)通关教程

    日期:2019-08-01 17:28:33 更新: 作者:Bay0net 介绍: 0x01. 漏洞介绍 在渗透测试过程中,能够快速获取服务器权限的一个办法. 如果开发者对上传的内容过滤的不严,那么就 ...

  5. DVWA靶机--简单的文件上传漏洞

    简单的文件上传漏洞(靶机安全级别:low) 事先准备好一句话木马,密码为pass 上传一句话木马,显示上传路径(一般网站是不会显示路径的,这里靶机为了方便你测试漏洞,直接显示出了路径: ../../h ...

  6. DVWA之File Upload (文件上传漏洞)

    目录 Low: Medium: 方法一:抓包修改文件的type 方法二:00截断 High: Impossible : Low: 源代码: <?php if( isset( $_POST[ 'U ...

  7. Kali学习笔记38:文件上传漏洞

    早些年,提到Web渗透,或者搜索一些黑客教程 基本都会看到文件上传漏洞. 它是一个很经典的漏洞 但它本质其实不是一个漏洞,而是网站本身的上传文件功能 不过如果我们上传了Webshell,那么就成为了文 ...

  8. web安全之文件上传漏洞

    成因: 当文件上传时,若服务端脚本语言未对上传的文件进行严格验证和过滤,若恶意用户上传恶意的 脚本文件时,就有可能控制整个网站甚至是服务器,这就是文件上传漏洞. 权限: 1. 后台权限:登陆了后台,可 ...

  9. Web应用安全之文件上传漏洞详解

    什么是文件上传漏洞 文件上传漏洞是在用户上传了一个可执行的脚本文件,本通过此脚本文件获得了执行服务器端命令的功能,这种攻击方式是最为直接,最为有效的,有时候,几乎没有什么门槛,也就是任何人都可以进行这 ...

随机推荐

  1. HMS Core 6.3.0 版本发布公告

    新增内容风控检测,若用户输入内容不符合国家法律法规要求,风控将会拦截,无法翻译手语动作. 查看详情>> 新增受众同步至HUAWEI Ads功能,实现精准投放高价值用户,提升广告效率: 新增 ...

  2. MySQL数据库索引介绍

    一.什么是索引 索引是mysql数据库中的一种数据结构,就是一种数据的组织方式,这种数据结构又称为key 表中的一行行数据按照索引规定的结构组织成了一种树型结构,该树叫B+树 二.为何要用索引 优化查 ...

  3. C编译器中“不是所有的控件路径都返回值”报错

    编译器的判断逻辑是是否在所有的分支中都返回了值,即if不成立时也必须返回值.编译器认为如果三个if都不成立则此函数可能没有返回值,故报错.需要将第三个if改为else或者去掉if体直接return.

  4. JS Map与Set

    笔记整理自:廖雪峰老师的JS教程 Map JavaScript的对象有个小问题,就是键必须是字符串.但实际上Number或者其他数据类型作为键也是非常合理的. 为了解决这个问题,最新的ES6规范引入了 ...

  5. Linux中3个文件查找相关命令详解

    源于:https://mp.weixin.qq.com/s/VPs-IXY6RoxbltHIxtIbng which命令 我们经常在linux要查找某个文件,但不知道放在哪里了,可以使用下面的一些命令 ...

  6. ubuntu 修改文件及文件夹的权限

    转载请注明来源:https://www.cnblogs.com/hookjc/ 打开终端进入你需要修改的目录然后执行下面这条命令chmod 777 * -R全部子目录及文件权限改为 777 来源:py ...

  7. js Array.prototype.slice.call(arguments,0) 理解

    Array.prototype.slice.call(arguments,0) 经常会看到这段代码用来处理函数的参数 网上很多复制粘帖说:Array.prototype.slice.call(argu ...

  8. GFS 分布式文件系统

    GFS 分布式文件系统 1.GlusterFS概述 : GlusterFS简介  a) GlusterFS是一-个开源的分布式文件系统. 由存储服务器.客户端以及NFS/Samba存储网关(可选,根据 ...

  9. Linux命令安装Mysql

    关键步骤: 4.创建用户组和用户 groupadd mysql useradd -r -g mysql mysql 5.修改权限 chown -R mysql:mysql ./ 6.安装数据库 ./s ...

  10. Docker prefereces

    https://docs.docker.com/docker-for-mac/#preferences-menu docker 的镜像命令需要抽时间了解