• 文件上传漏洞靶机upload-labs(1到10)


    逼逼叨

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

    pass-01(前端验证)


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

    pass-02(MIME类型过滤)


    上传的时候修改Content-Typeimage/jpeg等程序指定的类型即可。


    成功:

    使用蚁剑连接测试

    pass-03(黑名单验证)


    只禁止了部分扩展名,还有.php5等扩展名可以解析为PHP。
    上传.php5即可。
    类似的扩展名有:php2,php3、php4、php5、phtml、等

    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. 上传成功

  • 相关阅读:
    创建ftp站点
    删除文件夹下所有文件
    搭建API Mock
    linux 定时备份数据库
    linux 常用Mysql脚本命令
    离线安装Redis 说明
    离线安装Mariadb
    ffmpeg+nginx 实现rtsp转rtmp并通过nginx转发
    linq和ef关于group by取最大值的两种写法
    Autofac 泛型依赖注入
  • 原文地址:https://www.cnblogs.com/bk76120/p/12398709.html
Copyright © 2020-2023  润新知