打开题目地址,一串不懂的重复的字符串
一眼就看出这个filename后面的是base64加密的字符,解密出来时keys.txt
后来访问keys.txt,发现还是这些重复的字符
后来试着将index.php也base64加密试下,而且变动line会有显示文件源码行数内容
写个脚本把他全部拿下来
前30行,代码如下
<?php
error_reporting(0);
$file=base64_decode(isset($_GET['filename'])?$_GET['filename']:"");
$line=isset($_GET['line'])?intval($_GET['line']):0;
if($file=='') header("location:index.php?line=&filename=a2V5cy50eHQ=");
$file_list = array(
'0' =>'keys.txt',
'1' =>'index.php',
);
if(isset($_COOKIE['margin']) && $_COOKIE['margin']=='margin'){
$file_list[2]='keys.php';
}
if(in_array($file, $file_list)){
$fa = file($file);
echo $fa[$line];
}
?>
源码写得很明白了,一开始要将文件名base64加密
而且cookie要margin=margin,才会输出文件内容
访问是空白页,f12打开拿到flag