释放双眼,带上耳机,听听看~!
打开题目,有效代码:
error_reporting(0); include('flag.php'); if(isset($_GET['token'])){ $token = md5($_GET['token']); if(substr($token, 1,1)===substr($token, 14,1) && substr($token, 14,1) ===substr($token, 17,1)){ if((intval(substr($token, 1,1))+intval(substr($token, 14,1))+substr($token, 17,1))/substr($token, 1,1)===intval(substr($token, 31,1))){ echo $flag; } } }else{ highlight_file(__FILE__); }
这里需要满足一些条件,直接用PHP根据条件跑出来,用的时候记得加上PHP标记,
for($i=0;$i<10000;$i++) { $token = md5($i); if(substr($token, 1,1)===substr($token, 14,1) && substr($token, 14,1) ===substr($token, 17,1)) { if((intval(substr($token, 1,1))+intval(substr($token, 14,1))+substr($token, 17,1))/substr($token, 1,1)===intval(substr($token, 31,1))) { echo $i; echo 'token='.$token; } } }
跑出来以后得到两个有效的数字422/1202,
1、422 token=f85454e8279be180185cac7d243c5eb3 2、1202 token=147702db07145348245dc5a2f2fe5683
一个一个试,当token值为422时,得到flag。