Pass-1
这里上传php文件说不允许上传
然后咱们开启抓包将png文件改为php文件
放包回去成功上传
Pass-2
进来查看提示说对mime进行检查
抓包把这里改为image/jpg;
放包回去就上传成功了
Pass-3
这里上传php文件它说不允许上传这些后缀的文件
那咱们就可以改它的后缀名来绕过
Pass-4
创建一个.htaccess文件
然后上传文件进行查看
Pass-5
上传过后访问发现不能解析,这里有一个局限的点,在.user.ini 中使用这条配置,需要在同目录下的其他.php 文件中包含配置中所指定的文件,也就是说需要该目录下存在.php 文件。个人的理解:因为需要php文件去加载这个.user.ini配置文件。(类似于引导文件 ->包含执行user.ini-> b.txt)
提示为:存在readme.php文件,访问发现正常解析
Pass-6
这一关是大写绕过
给文件名改一个大写的字母就能成功上传
Pass-7
这里根据源码在文件名后加空格绕过
放行回来就上传成功了
Pass-8
这一关是在文件名后加点
放包回去上传成功
Pass-9
这里代码没有哪个去除字符串
抓包在文件后加字符串
放包回去就上传上去了
Pass-10
这里全都限了
我们抓包采用点空格点的方式绕过
然后放行回去上传成功
Pass-11
这关是需要双写绕过修改文件名就行
Pass-12
抓包修改%00截断
放包上传成功
Pass-13
这题是post传参在下边改
把这里改成00就可以放包了
可以看到上传成功了
Pass-14
利用命令将php文件和png图片结合成shell.jpg图片
然后上传成功点开进去?file=图片地址
Pass-15
跟上一关一样的方法来读取
Pass-16
因为环境不支持所以没做了
Pass-17
这里需要进行二次渲染绕过
然后连接webshell这里我就不连了
Pass-18
上传php文件里边的语句
无限发送上传文件
浏览器访问这个php文件成功将shell.php写入到它的文件夹里就成功了
Pass-19
这一关限制了文件类型不能用php给文件改个名就ok了
然后就跟上一关一样了
Pass-20
这里上传文件修改保存名称
点击上传就成功了访问