php版本均为5.3.29
1、Pass-01
直接看题目提示
前端js对不合法图片检验,上传一句话木马文件,后缀改为正常的图片文件的后缀,bp抓包改包即可
文件会传到upload-labs-master/upload里
蚁剑连接后门
2、Pass-02
提示说这一关在服务端对数据包的MIME进行检查
MIME (Multipurpose Internet Mail Extensions) 是描述消息内容类型的标准,用来表示文档、文件或字节流的性质和格式。
浏览器通常使用 MIME 类型(而不是文件扩展名)来确定如何处理URL,因此 We b服务器在响应头中添加正确的 MIME 类型非常重要。如果配置不正确,浏览器可能会无法解析文件内容,网站将无法正常工作,并且下载的文件也会被错误处理。
MIME类型通用结构
type/subtype
将content-type里的内容改为 image/png
上传成功
3、Pass-06
查看源码,没有大小写过滤
利用大小写绕过
4、Pass-07
看源码没有去空格的函数,在后缀名后面加上空格绕过即可
5、Pass-08
查看源码没有进行点的删除,后缀加 . 绕过即可
6、Pass-09
查看源码,没有对::$DATA字符串过滤
Windows在磁盘中会忽略::$data并将文件新建。
直接在后缀添加::$DATA
上传成功
7、Pass-10
查看源码特点,每个过滤只做一遍,没有循环,利用这个特点我们构造后缀 点空格点。
这样会剩下一个点没有被过滤
deldot()函数从后向前检测,当检测到末尾的第一个点时会继续它的检测,但是遇到空格会停下来
8、Pass-11
str_ireplace()函数寻找文件名中存在的黑名单字符串,将它替换成空。
双写后缀即可绕过。