ISCC之web2
Php代码审计
PHP代码
<?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]); #将value数组中的值转化为ASCll码
if ($username == 'w3lc0me_To_ISCC2019' && intval($password) < 2333 && intval($password + 1) > 2333) {
echo 'Hello '.$username.'!', '<br>', PHP_EOL;
echo $flag, '<hr>';
}
}
highlight_file(__FILE__);
审计发现可以构造数组,将w3lc0me_To_ISCC2019构造成一个数组,放到value里面,
ASCll共计128个,因此要绕过限制,对ascll码值加256,
对于后面的2333,我们可以这样绕过
利用科学记数法10e4是100000,但是这里的intval()函数取整,会忽略,计算成10
10e4+1会计算成100001
Payload如下
结果
flag{8311873e241ccad54463eaa5d4efc1e9}
越有故事的人越沉静简单,越肤浅单薄的人越浮躁不安,真正的强者不是没有眼泪的人,而是含着眼泪依然奔跑的人,我们要敢于背上超出自己预料的包袱。努力之后,你会发现,自己要比想象的优秀很多。
坚持梦想,负重前行。