buuctf Mark loves cat
buuctf Mark loves cat
打开是个静态页面,源码也无任何有用信息
dirsearch扫描后发现.git泄露
GitHack.py下载得到两个php文件,接下来就是代码审计:
flag.php:
<?php
$flag = file_get_contents('/flag');
index.php:
<?php
include 'flag.php';$yds = "dog";
$is = "cat";
$handsome = 'yds';foreach($_POST as $x => $y){$$x = $y;
}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;
审计分析
第1条foreach语句,将POST的参数进行变量覆盖
第2条foreach语句,将GET的参数进行变量覆盖,与第1条有点区别是第1个的键值是y,第2个的键值是y,第2个的键值是y,第2个的键值是y其中有两个能利用变量覆盖输出flag,也就是说有两种方法第二个if语句中可以看到这里是输出的y 其中有两个能利用变量覆盖输出flag,也就是说有两种方法 第二个if语句中可以看到这里是输出的y其中有两个能利用变量覆盖输出flag,也就是说有两种方法第二个if语句中可以看到这里是输出的yds变量,那么我们就要通过变量覆盖达到yds=yds=yds=flag的效果,GET传参yds=flag,在第二个foreach语句中,首先是x=yds,x=yds,x=yds,y=flag,经过x=x = x=y也就变成了yds=yds=yds=flag
就可以利用exit(yds)将原来的yds)将原来的yds)将原来的flag输出
so payload:
GET: ?yds=flag
总结:
git源码泄露;(dirsearch扫描,GitHack.py下载)
$$导致变量覆盖漏洞
buuctf Mark loves cat相关推荐
- [BJDCTF2020]Mark loves cat(3种解法)
练习靶场:BUUCTF 题目搜索:[BJDCTF2020]Mark loves cat 靶机启动后的界面 步骤1:我们使用工具dirsearch扫描目录,观察是否有信息泄露 python dirs ...
- [BJDCTF2020]Mark loves cat
首先打开网站看到的是一个个人博客,这种常规的 类似实战题目 先扫描目录看看 路径扫描 没错这真的是我的字典,就7个路径,哈哈哈,还在收集啊 git泄露 看到了一个 .git 泄露 用了俩工具测试,无任 ...
- [BJDCTF2020]Mark loves cat 1
[BJDCTF2020]Mark loves cat 1 首先打开题目得到: 在网站没有什么发现 就扫描一下网站得到: 发现有git泄露得到: python2 GitHack.py http://d9 ...
- [BJDCTF2020]Mark loves cat 1——(超详细 三种方法)
[BJDCTF2020]Mark loves cat 1 一进入环境,毫无头绪 拿御剑 或者 dirsearch 扫出了 .git/ 可以猜出,本关一定与git源码泄露有关 我们使用GitHack 看 ...
- BUUCTF [BJDCTF2020]Mark loves cat
打开题目 搜索一番没有任何发现: dirsearch扫描后发现.git泄露,GitHack.py下载源码: python GitHack.py http://b77333f7-af9a-4f4a-aa ...
- buuctf web mark loves cat
打开场景,是一个主页,先审计源码,发现很多a链接,但都是指向本页面的死链,没啥用 扫目录,python3 dirmap.py -i http://bba5d728-52ed-427c-bf70-629 ...
- [BJDCTF2020]Mark loves cat详细解法与思路
前言 文章所涉及的资料来自互联网整理和个人总结,意在于个人学习和经验汇总,如有什么地方侵权,请联系本人删除,谢谢!本文仅用于学习与交流,不得用于非法用途! 知识点: 主要考点是$$会导致变量覆盖 题目 ...
- Mark loves cat
扫描目录(但是我用御剑扫不出来) ,然后用.git下载文件 <?phpinclude 'flag.php';$yds = "dog"; $is = "cat&quo ...
- [BJDCTF2020]Mark loves cat(.git源码泄露与代码审计之变量覆盖漏洞)
知识点: php中$$用来定义可变变量 解题: python GitHack.py http://e6e2adea-991f-4ae7-b4ea-0f82d49d8f8c.node3.buuoj.cn ...
最新文章
- 数据仓库及其体系建设
- 视图——概述 || 创建或者修改视图 || 查看视图 || 删除视图
- Webstorm常用快捷键备忘(Webstorm入门指南)
- 数据结构----数组与广义表专题
- 【Vegas原创】GridView修改表头,并导出Excel(C#版)
- qt按钮禁用和激活禁用_为什么试探法只是经验法则:禁用按钮的情况
- android build.time,Android SDK中的恒定Build.TIME
- vim保存文件时,生成.un~文件
- Dreamweaver CS5.5+PhoneGap移动开发环境搭建
- MySQL NULL的小陷阱
- dell 7050台式计算机,Dell OptiPlex 7050 系统指南
- 2018年计算机基础应用教程,全国计算机等级考试一级教程:计算机基础及Photoshop应用(2018年版)...
- 闪迪ssd plus固态硬盘不识别开卡成功,慧荣SM2246XT量产教程
- 物联网技能大赛-Ubuntu-(3)
- 电视hdmi接口在哪_变废为宝!把旧笔记本电脑当电视盒子用
- 虚幻4引擎开发的手游_虚幻4引擎开发 《神佑》手游首次公开
- USB3.0:VL817Q7-C0的LAYOUT指南
- 正面杠腾讯音乐与网易云音乐,抖音与快手谁能“弯道超车“?
- 计算机应用基础0039答案,2016秋5205004计算机应用基础-0039【参考答案】
- LeetCode(Python)—— 将有序数组转换为二叉搜索树(简单)
热门文章
- C++(11):多线程同步packaged_task
- c语言浮点变量是什么意思,C语言中说的浮点型是什么意思呢 C语言的浮点数是什么...
- unity如果编辑器意外崩溃了,但场景未保存,怎么办
- 理财投资 之 基金投资 - #1篇:基金基础知识扫盲
- Mybatis注解开发笔记
- 什么软件有html5游戏,多款好玩HTML5小游戏带你认识HTML5优势
- 厨神之路三--自制饮品
- 详解Spring Ioc(控制反转)
- 解决pycharm里显示数据不完全问题(pandas)
- 大批量查询京东快递物流,并分析到站延误