buuctf上的题难度适中。越到后边会越难,但也有例外
页面报错了。报错的原因可能有很多种猜想。所以有没有一种可能是故意这么设计的。先抓包吧
发现是GET请求。修改请求方法再试试呢?
<?php
error_reporting(0);
if ($_SERVER['REQUEST_METHOD'] !== 'POST') {
header("HTTP/1.1 405 Method Not Allowed");
exit();
} else {if (!isset($_POST['roam1']) || !isset($_POST['roam2'])){show_source(__FILE__);}else if ($_POST['roam1'] !== $_POST['roam2'] && sha1($_POST['roam1']) === sha1($_POST['roam2'])){phpinfo(); // collect information from phpinfo!}
}
源码很简单嘛,就一个数组绕过
roam1[]=1&roam2[]=2