CG-CTF-Web-php decode

php decode

题目代码:


function CLsI($ZzvSWE) {
 
    $ZzvSWE = gzinflate(base64_decode($ZzvSWE));
//$ZzvSWE = gzinflate(base64_decode(+7DnQGFmYVZ+eoGmlg0fd3puUoZ1fkppek1GdVZhQnJSSZq5aUImGNQBAA==));
    for ($i = 0; $i < strlen($ZzvSWE); $i++) {
 
        $ZzvSWE[$i] = chr(ord($ZzvSWE[$i]) - 1);
 
    }
 
    return $ZzvSWE;
 
}
eval(CLsI("+7DnQGFmYVZ+eoGmlg0fd3puUoZ1fkppek1GdVZhQnJSSZq5aUImGNQBAA=="));
?>
gzinflate函数
string gzinflate ( string $data [, int $length = 0 ] )
此函数会使收缩的字符串膨胀。

参数
--data
由gzdeflate()压缩的数据。
--length
要解码的最大数据长度。
--返回值
原始未压缩数据或出错。 FALSE
如果未压缩数据超过压缩输入长度的32768倍data 或超过可选参数,则该函数将返回错误length。

由以上代码可以看出,这是先将+7DnQGFmYVZ+eoGmlg0fd3puUoZ1fkppek1GdVZhQnJSSZq5aUImGNQBAA==base64解密,再将解密后的值膨胀,最后经过for循环,return$ZzvSWE结果,eval是执行php代码的函数,这里我们需要输出最后的结果,因此,将eval改为echo,结果如下图(php代码在线测试):
CG-CTF-Web-php decode_第1张图片

你可能感兴趣的:(CTF刷题)