web1
源码
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
| <?php error_reporting(0); require 'flag.php'; $value = $_GET['value']; $password = $_GET['password']; $username = '';
for ($i = 0; $i < count($value); ++$i) { if ($value[$i] > 32 && $value[$i] < 127) unset($value); else $username .= chr($value[$i]); if ($username == 'w3lc0me_To_ISCC2019' && intval($password) < 2333 && intval($password + 1) > 2333) { echo 'Hello '.$username.'!', '<br>', PHP_EOL; echo $flag, '<hr>'; } }
|
需要传入两个变量value
和password
.
count():返回数组中元素的数目
unset():销毁指定的变量
chr():返回相对应于 ascii 所指定的单个字符
.= : 拼接字符串
intval():通过使用指定的进制 base 转换(默认是十进制),返回变量 var 的 integer 数值。 intval() 不能用于 object,否则会产生 E_NOTICE 错误并返回 1
解题思路
$username == 'w3lc0me_To_ISCC2019'