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

2023-03-12,,

前言

项目地址: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. .会经过的步骤

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

文件上传漏洞靶机upload-labs(1到10)的相关教程结束。

《文件上传漏洞靶机upload-labs(1到10).doc》

下载本文的Word格式文档,以方便收藏与打印。