期待得到某一件事物的时候,才是最美好的。
签到
发现不能提交,看一下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即可