淘先锋技术网

首页 1 2 3 4 5 6 7

地址

https://github.com/c0ny1/upload-labs

漏洞

网站代码的问题

中间件/CVE

Tomcat
apache
glassfish
Nginx
IIS
weblogic

在这里插入图片描述

解析

1-12关(白名单与黑名单绕过)

13-20关(内容逻辑数组绕过)

不明白可留言或私信,文中只介绍方法,具体操作读者自行完成

burpsuite 抓包,更改内容(都是白名单与黑名单的绕过)
第一关:burp抓包后,更改文件后缀名
第二关:白名单,MIME类型
第三关:特殊解析后缀,以其他格式解析文件,比如PHP5解析PHP
第四关:.htaccess,文件名中,符合代码要求的文件(比如,文件名包含cimer的文件),都将以另一种格式执行(如下代码,都将以PHP格式解析)
cimer 可以任意

<FilesMatch "cimer">
Sethandler application/x-httpd-php
</FilesMatch>

第五关:过滤了.htaccess文件,大小写绕过
第六关:后缀名加空格
第七关:后缀名加点,Windows后缀名加点与原文件后缀没有区别,系统将自动去掉
第八关:一次过滤与循环过滤不同,只过滤一次的话,可重复过滤内容,达到绕过情况,比如a.php. .,一次过滤后是a.php.,在Windows中也等于a.php
第十关,a.pphphp
第十一关:白名单,%00截断,是地址方面的,版本PHP5.3以下, 0x00是文件
第十二关,post提交,%00需要编码,但是get不需要,它会自动解码
第十三关:图片马:将后门代码放在图片中,文件包含漏洞:在文件中,包含一个文件,使得源文件格式以后门代码的格式执行
文件的头部信息代表是什么格式的文件,文件头检测
第十四关:获取图像信息,getimagesize():如果不是图片,就没有返回值
第十五关:只能上传图片,配合文件上传漏洞
第十六关:类似
(第13-16,只是验证图片信息所用到的函数不一样,目的是一样的,只能上传图片)
第十七关:二次渲染:存在的漏洞是,验证存在第一步还是第二步,
第十八关:条件竞争
在这里插入图片描述先判断,将文件从本地路径移动到服务器,之后在判断文件格式是否满足要求,此时,文件已被上传到服务器了,之后对文件重命名,系统规则是,当文件被访问时,是不能对其进行修改(比如,编辑文本时,不能删除),同理,不断重复发送上传文件的数据包,在文件已存在的一瞬间,访问该文件,阻止重命名
第十九关:内置函数漏洞,文件目录的问题,burp抓包,修改save_name的值,通过文件名绕过、a.php%00.jpg,通过文件夹名绕过、a.php/.
第二十关:文件上传+数组
在这里插入图片描述
在这里插入图片描述