期待得到某一件事物的时候,才是最美好的。
签到
发现不能提交,看一下f12

发现提交按钮被禁用了,且最大输入9个字符,我们可以改一下。

现随便提交一个发现要提交ilovejijcxy


session文件包含

发现有文件包含,那先包含一下action.php

![]()

发现
post传的参数被记录到seesion文件里面了,所以我们就可以用session文件包含,猜一下目录,找到/tmp/sess_5ki3kfmdkshq56njj2g0b1ut41

Don't touch me




robots
一眼robots.txt


php very nice

一眼反序列化。

ezupload
先随便上传一个试试,提示只能上传GIF格式
![]()
经过检测,只检测Content-type,所以只需改为image/gif即可。

直接蚁剑连即可。

cookie欺骗

根据题目可以看出要改cookie,

把user改为admin就好了

upload

先看源代码,看到

加入url后看到源码。

发现把这么多后缀换为空,所以我们可以使用双写绕过。

上传成功。

干正则
<?php
error_reporting(0);
if (empty($_GET['id'])) {show_source(__FILE__);die();
} else {include 'flag.php';$a = "www.baidu.com";$result = "";$id = $_GET['id'];@parse_str($id);echo $a[0];if ($a[0] == 'www.polarctf.com') {$ip = $_GET['cmd'];if (preg_match('/flag\.php/', $ip)) {die("don't show flag!!!");}$result .= shell_exec('ping -c 2 ' . $a[0] . $ip);if ($result) {echo "<pre>{$result}</pre>";}} else {exit('其实很简单!');}
}
@parse_str($id); 这个函数不会检查变量$id是否存在,如果通过其他方式传入数据给变量$id,且当前$id中数据存在,它将会直接覆盖掉

技巧:cat `ls`;

cool
<?php
if(isset($_GET['a'])){$a = $_GET['a'];if(is_numeric($a)){echo "no";}if(!preg_match("/flag|system|php/i", $a)){eval($a);}
}else{highlight_file(__FILE__);
}
?>
直接用passthru即可
