Lluna's Pure land.

What is life like when singing to wine?

0%

upload_labs

Pass01.基于前端js验证

上传图片抓包改后缀

Pass02.检测MIME类型

修改MIME为image/jpeg

Pass03.黑名单 文件后缀绕过

首先修改apache2配置文件

1
2
3
vim /etc/apache2/mods-available/mime.conf
找到AddType application,增加一行,重启服务
AddType application/x-httpd-php .php .phtml .phps .php5 .pht .php3

上传.php5文件

Pass04.黑名单 .htaccess绕过

先上传.htaccess文件,内容如下

1
2
3
4
5
6
7
此条伪静态规则为将demo文件解析成php文件执行
<FilesMatch "demo">
SetHandler application/x-httpd-php
</FilesMatch>

也可以是以下,将所有文件解析为php
SetHandler application/x-httpd-php

本次使用第二条,将所有文件解析为php

Pass05.黑名单 大小写绕过

禁止上传.htaccess

Pass06.黑名单 空格绕过

禁止上传.htaccess

在文件后加一个空格即可(需要在windows环境下,widows自动去空格和点)

Pass07.黑名单 点绕过

禁止上传.htaccess

在文件后加一个点即可(最好在windows环境下)

Pass08.黑名单 ::$DATA绕过

文件后缀添加::$DATA绕过(windows环境)

Pass09.黑名单 点空点绕过

会删除文件后的点,在文件后添加. .进行绕过(window环境)

Pass10.黑名单 双写后缀绕过

从前匹配php进行删除,双写绕过

Pass11.白名单 %00绕过

get传参路径可控

PHP版本小于5.3.4 关闭GPC

Pass12.白名单 0x00绕过

shell_get.php%00

同上,由于post传参所以将%00进行url编码

Pass13.检查图标内容开头2个字节 图片马绕过

Pass14.getimagesize()检查是否为图片文件 图片马绕过

同上

Pass15.exif_imagetype()检查是否为图片文件 图片马绕过

同上

Pass16.图片二次渲染

将二次渲染后文件未变化的部分添加一句话,再次上传,再包含,蚁剑连接。本案例使用gif,图片不知道为什么上传不上去。

Pass17.条件竞争

大佬的文章

先move再判断,符合白名单就重命名,不符合就unlink。

但是我图片马直接就可以了,为了学习新知识,也用大佬的方法做了一遍

Pass18.条件竞争

与pass17类似

Pass19./.绕过

move_uploaded_file会忽略掉文件末尾的 /.

Pass20.代码审计 数组绕过

直接参考大佬的文章

地址

-------------纸短情长下次再见-------------