1.提示显示所以关闭js
上传<?php phpinfo(); ?>的png形式
抓包,将png改为php
然后放包上传成功
2.提示说检查数据类型
抓包
将数据类型改成
image/jpeg
上传成功
3.提示
可以用phtml,php5,php3
4.先上传.htaccess文件(在php的nts版本下面无法解析为php文件,.php5.6以下不带nts的版本)
.htaccess参数常见配法有以下几种:
AddHandler php5-script .jpg
AddType application/x-httpd-php .jpg
SetHandler application/x-httpd-php
Sethandler 将该目录及子目录的所有文件均映射为php文件类型。
Addhandler 使用 php5-script 处理器来解析所匹配到的文件。
AddType 将特定扩展名文件映射为php文件类型。
查看源代码,这些文件都不允许上传,修改配置文件.htaccess,
上传后上传的指定文件可以当作php文件来解析
成功上传
5.大小写过滤,上传4.phP
6.查看源代码,没有绕过首尾去空,所以用空格绕过
按理说没问题但是显示就不知道了
7.没有删除末尾的点,点绕过4.php. .
8.查看源代码,没有::$DATA绕过
按理说应该可以,但不知道为什莫没有解析
9.试了好几个绕过都不行,用.php.jpg成功绕过
10.没思路,查看提示
str_ireplace($deny_ext,"", $file_name);(函数将匹配到的字符替换为空),用双写绕过.pphphp
成功
补充知识点:str_ireplace函数
语法:str_ireplace(find,replace,string,count)
11.
%00戒断,修改画圈两处然后发送repeater-send
12.道理差不多,这是post罢了
修改如上两处(4.php后面有空格)
在Hex里修改20为00
13. 用4.php和4.png上传均失败,点击页面的文件上传漏洞
自己制作图片马,在010末尾加上你要插入php代码 上传即可,
我也不清楚get传参后为什莫会显示如此
14.同理延用上一题的图片🐎
15.同理
16.查看源码涉及到图片渲染 先上传一张正常的png另存地址到文件夹,在该另存图片末尾通过010添加相关php语句再次上传,构造geet传参访问
17.按理说这道题是先上传末尾有php代码的文件,保存上传图片,用010打开另存图片和原图片发现另存图片被渲染末尾的代码没了,那么通过比对,找到不被渲染的地方插入php代码上传成功即可,我不小的为什莫我上传的图片没有被渲染,这个牛逼
upload-labs之pass 16详细分析
作者:Yang
https://xz.aliyun.com/news/2337?time__1311=eqfxyQG%3Deqlx0nKKD%3DNDtGCUIC8lmYoD&u_atoken=64625a57ec456c8a30b41bf9f74011b0&u_asig=1a0c380917408987961751628e00fa#toc-13
文章转载自 先知社区
18.