当前位置: 首页 > news >正文

[BJDCTF2020]Mark loves cat1

打开题目

发现这么多链接,以为要一点点去找功能上的漏洞。当你源代码,dirsearch,抓包等等操作之后,发现什么都没有。所以这题又是一道源码泄露题,上GItHack。扫描结果如下

http://63f29a80-e08b-43ae-a6d0-8e70fb02eaa3.node5.buuoj.cn:81/.git

主要代码在index里面

<?php
 
include 'flag.php';
 
$yds = "dog";
$is = "cat";
$handsome = 'yds';
 
foreach($_POST as $x => $y){
    $$x = $y;   //$flag=1
}
 
foreach($_GET as $x => $y){
    $$x = $$y;   
}
 
foreach($_GET as $x => $y){
    if($_GET['flag'] === $x && $x !== 'flag'){
        exit($handsome);
    }
}
 
if(!isset($_GET['flag']) && !isset($_POST['flag'])){
    exit($yds);
}
 
if($_POST['flag'] === 'flag'  || $_GET['flag'] === 'flag'){
    exit($is);
}
 
echo "the flag is: ".$flag;

根据源代码,需要通过get传参达到变量覆盖的目的。 

?yds=flag

覆盖is变量

if($_POST['flag'] === 'flag'  || $_GET['flag'] === 'flag'){
    exit($is);
}

Get或Post传入flag=flag,触发变量覆盖代码

foreach($_POST as $x => $y){
    $$x = $y;   //$flag=1
}
 
foreach($_GET as $x => $y){
    $$x = $$y;   
}

输出?is=flag&flag=flag

再覆盖覆盖handsome变量

handsome=flag,得到$handsome=$flag

?handsome=flag&flag=handsome

可以得到flag

http://www.lryc.cn/news/415129.html

相关文章:

  • 微信答题小程序产品研发-用户操作流程设计
  • 目标检测——YOLOv10: Real-Time End-to-End Object Detection
  • 堡垒机简单介绍
  • 【星闪开发连载】WS63E 星闪开发板和hi3861开发板的对比
  • Python接口自动化测试框架(实战篇)-- Jenkins持续集成
  • 【leetcode】根据二叉树创建字符串、二叉树的前中后遍历(非递归链表实现二叉树)
  • 【RabbitMQ】RabbitMQ交换机概述
  • ROS2从入门到精通4-6:路径平滑插件开发案例(以B样条曲线平滑为例)
  • Tensorflow训练视觉模型(CPU)
  • 从根儿上学习spring 十 之run方法启动第四段(4)
  • 如果我的发明有修改,需要如何处理?
  • java:File与MultipartFile互转
  • 高级java每日一道面试题-2024年8月04日-web篇-如果客户端禁止cookie能实现session还能用吗?
  • leetcode 107.二叉树的层序遍||
  • C++在网络安全领域的应用
  • Chapter 26 Python魔术方法
  • 基于Transformer的语音识别与音频分类
  • leetcode数论(1362. 最接近的因数)
  • sqli-labs-master less1-less6
  • 力扣287【寻找重复数】
  • 【2024蓝桥杯/C++/B组/传送阵】
  • (四十一)大数据实战——spark的yarn模式生产环境部署
  • 【深度学习实战(53)】classification_report()
  • 计算机网络基础之网络套接字socket编程(初步认识UDP、TCP协议)
  • 手撕Python!模块、包、库,傻傻分不清?一分钟带你弄明白!
  • Linux--序列化与反序列化
  • 使用C#和 aspose.total 实现替换pdf中的文字(外语:捷克语言的pdf),并生成新的pdf导出到指定路径
  • 【Material-UI】Autocomplete中的高亮功能(Highlights)详解
  • Android 11(R)启动流程 初版
  • 从零安装pytorch