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