“百度杯”CTF比赛 2017 二月场_爆破-3_WriteUp


打开网站

代码审计

<?php 
error_reporting(0);
session_start();
require('./flag.php');
if(!isset($_SESSION['nums'])){ 
  $_SESSION['nums'] = 0;
  $_SESSION['time'] = time();
  $_SESSION['whoami'] = 'ea';
}

if($_SESSION['time']+120=10){ //$_SESSION['nums']>=10即可获得flag
  echo $flag;
}

show_source(__FILE__);
?>

思路

由19行可看出为弱判断类型,可以用数组进行绕过,md5函数不能对数组进行处理,所以传数组。md5()==0
根据获取到的信息构造payload ?value[]=ea
代码中提到需要提交大于10次,10次过后得到flag

获得flag

payload

http://xxxxx/?value[]=