第一关
上传一个1.jpg的文件,在里面写好一句webshell
保留一个数据包,将其中截获的1.jpg改为1.php后重新发送
可以看到,已经成功上传
第二关
写一个webshell如图,为2.php
第二关在过滤tpye的属性,在上传2.php后使用burp suite抓包,将其type属性那一栏改为image/jpeg即可上传
使用蚁剑连接该webshell,成功
第三关
由源代码可以看到,该关过滤了文件名,也是通过burp suite抓包进行解决
这里使用到windows自带的一个特性,可以在文件名后加"."或一个数字进行上传
访问该文件,可以看到,已经上传成功
第四关
将httpd.conf中AllowOverride改为All
该关在过滤文件后缀,可以利用.htaccess这个文件进行上传
在里面写入这样的代码,可以将上传的info.jpg使用php进行解析
在上传一个写有webshell的info.jpg图片,可以完成本关
第五关
使用”. .“绕过
先使用1.php上传,使用burp suite抓包,修改为1.php. .即可上传成功
第六关
观察代码可以看出,相比前面几关,并未对大小写进行过滤
使用burp suite进行抓包,将其改为1.phP即可成功上传
第七关
观察可以看出
少了一个trim函数,可以使用空格绕过
结果成功
第八关
观察代码可以看出,并未对后面的“.”进行过滤,可以使用“.”绕过
同样使用burp suite改包实现
第九关
观察代码,本关并未对“::$DATA”这个符号进行过滤,使用“::$DATA”绕过
第十关
与第五关一样,使用“. .”绕过
第十一关
该关过滤文件后缀,当文件后缀匹配上$deny_ext中的后缀时,进行删除,所以通过写两个相同的字符进行绕过
第十二、十三关
使用%00截断来进行绕过
因为我的php版本为5.6.9,所以并未绕过成功,需要php5.3.29以下的版本
第十四、十五、十六关
上传一个图片马,并使用文件包含进行访问
在windows下使用copy 3.jpg /b + 2.php /a shell.jpg制作一个图片马,直接上传后进行文件包含