前言

项目地址: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. linux不使用useradd添加新用户

    不使用useradd创建新的用户 1.进入用户特征信息:/etc/passwd 编辑: vim /etc/passwd 命令模式 :G 进入末行 进入编辑模式 :在最后添加新用户信息: 例:new_u ...

  2. Integer缓冲区相关问题--valueOf()方法

    今天在学习过程中了解到一个现象,代码如下: Integer num1 = 100; Integer num2 = 100; System.out.println(num1==num2?true:fal ...

  3. c#序列化感悟(重点讲讲二进制序列化)

    序列化是一种通过将对象转化为字节流,从而达到储存对象,或者将对象传输到内存,数据库或文件的一个过程,主要用途是保存对象的状态(包括对象的数据),方便对对象的重建,反之读取就是反序列化. 三种序列化类型 ...

  4. js中数组的添加和移除

    1.引入js文件 <script src="../plugins/jQuery/jquery-2.2.3.min.js"></script>2.HTML中代 ...

  5. VC 获取当前运行窗口名称

    转载请注明来源:https://www.cnblogs.com/hookjc/ BOOL CALLBACK WindowChild(HWND hwnd,LPARAM lparam){ CFGDlg* ...

  6. 解决Wordpress提示FTP登录问题

    向wordpress目录的wordpress-config.php中添加 define("FS_METHOD", "direct"); define(" ...

  7. kubeadm/flannel/dashboard/harbor部署以及服务发布

    kubeadm/flannel/dashboard/harbor部署以及服务发布 目录 kubeadm/flannel/dashboard/harbor部署以及服务发布 一.部署kubeadm 1. ...

  8. Linux文件系统与日志分析的了解

    Linux文件系统与日志分析 1.inode和block概述 2.模拟inode耗尽实验 3.ext类型文件恢复 4.xfs类型文件恢复 5.日志文件 6.日志分析 1.文件:文件是存储在硬盘上的,硬 ...

  9. 2021江西省赛线下赛赛后总结(Crypto)

    2021江西省赛线下赛 crypto1 题目: from random import randint from gmpy2 import * from Crypto.Util.number impor ...

  10. Scala中实现break与continue

    Scala是函数式编程语言,因此没有直接的break与continue关键字,要实现break与continue效果,需要绕一下. 需要导入包: import util.control.Breaks. ...