一串代码,试过各种解码方式,都没用
这串代码有点像base64,解码得到keys.txt,但代替代码后页面没有信息
那么这串代码可能是某种固定格式,尝试使用其他文件名代替,flag.php,index.php的base64代码依次尝试
但都没获得有用的信息
这时注意到有个line,查找一下
line表示当前文件的行数,后面什么数字都没有,显然无法出现文件
依次进行,可以得到如下代码。
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];
}
?>
中间有一行
$_COOKIE['margin']=='margin'
联想到提示
就是要伪造一个cookie出来
但注意,写入时keys.txt的编码要改为keys.php,即a2V5cy5waHA=
有两种方法写入cookie
1.用HackBar
输入网址后,选择cookies直接输入margin=margin
在源页面就可以看到flag
2.用BurpSuite