WEB:mfw
背景知识
Git泄露
Githack使用
命令执行漏洞
题目


这里页面里有Git,猜测是Git泄露
先用dirsearch扫一下

确实存在.git目录,可以尝试访问一下

使用Githack来下载并恢复.git文件

这里记得使用的时候关闭杀毒软件
结果会自动保存

点进去先看一下flag这个文件,发现什么都没有
再看一下index.php,进行代码审计
?phpif (isset($_GET['page'])) {$page = $_GET['page'];
} else {$page = "home";
}
//使用get请求方式给page传参,如果没传,默认page=home $file = "templates/" . $page . ".php";
//$file变量会接收传入的$page并且在其前面拼接templates/,在其后面拼接.php,PHP中用.来实现字符串的拼接// I heard '..' is dangerous!
assert("strpos('$file', '..') === false") or die("Detected hacking attempt!");//strpos() 函数会在'$file'这个字符串中进行查找,是否存在'..',当字符串里有'..',则会返回一个数(即'..'第一次出现的位置),结果为true
//与右边的false并不恒等,此时就会执行or右边的die()函数,输出 Detected hacking attempt!
// TODO: Make this look nice
assert("file_exists('$file')") or die("That file doesn't exist!");?>
//file_exists() 函数还会检查我们传入的page拼接后是否存在

由代码审计可知,file_exists() 函数还会检查我们传入的page拼接后是否存在,在之前的githack下载文件中,templates文件夹中有四个php文件,只要传入的不是这4个,就会执行die函数,输出 That file doesn't exist!

file_exists()函数不会对获取flag有影响
assert()函数会将括号中的字符当成代码来执行
可以直接在第一个assert()函数处就调用cat命令来获取flag
传入的page中不能有'..',使strpos()函数返回false,和右边的false相等
payload
?page=123') or system("cat templates/flag.php");//
payload的前半段可以是存在的文件也可是不存在的文件
只需要前半段返回的是false,执行or后面的即可
在最后添加注释//,确保后面的代码不会执行
传入payload的之后,查看网页源代码可以找到flag

参考学习链接:
攻防世界 mfw(Git源码泄露与命令执行漏洞)_mfw攻防世界_kali-Myon的博客-CSDN博客
攻防世界 mfw(Git源码泄露与命令执行漏洞)_mfw攻防世界_kali-Myon的博客-CSDN博客
相关文章:
WEB:mfw
背景知识 Git泄露 Githack使用 命令执行漏洞 题目 这里页面里有Git,猜测是Git泄露 先用dirsearch扫一下 确实存在.git目录,可以尝试访问一下 使用Githack来下载并恢复.git文件 这里记得使用的时候关闭杀毒软件 结果会自动保存 点进去先看一下flag这个…...
2.4 传统经验光照模型详解
一、光照模型 光照模型(illumination model),也称为明暗模型,用于计算物体某点处的光强(颜色值)。从算法理论基础而言,光照模型分为两类:一种是基于物理理论的,另一种是…...
基于高通QCC5171的对讲机音频数据传输系统设计
一 研发资料准备 二 设计方法 蓝牙连接与配对:使用QCC5171的蓝牙功能,实现设备之间的蓝牙连接和配对。确保设备能够相互识别并建立起稳定的蓝牙连接。 音频采集与处理:将麦克风采集到的音频数据通过QCC5171的ADC(模数转换器&…...
【题解】判断链表中是否有环、链表中环的入口结点
文章目录 判断链表中是否有环链表中环的入口结点 判断链表中是否有环 题目链接:判断链表中是否有环 解题思路1:快慢指针 代码如下: bool hasCycle(ListNode *head) {if(head nullptr) return false;ListNode* fast head;ListNode* slow …...
Pytorch 最全入门介绍,Pytorch入门看这一篇就够了
本文通过详细且实践性的方式介绍了 PyTorch 的使用,包括环境安装、基础知识、张量操作、自动求导机制、神经网络创建、数据处理、模型训练、测试以及模型的保存和加载。 1. Pytorch简介 在这一部分,我们将会对Pytorch做一个简单的介绍,包括它…...
Lambda 表达式的作用域
在Lambda表达式中访问外层作用域和旧版本的匿名对象中的方式类似。你可以直接访问标记了final的外层局部变量,或者实例的字段以及静态变量。 Lambda表达式不会从超类(supertype)中继承任何变量名,也不会引入一个新的作用域。Lambd…...
【portswigger】第二专题-XSS(二)
portswigger 靶场(第二章节)XSS 视频同步更新至bilibili bibi地址 【【portswigger】第二专题-XSS(一前置知识)】 https://www.bilibili.com/video/BV1mp4y157xA/?share_sourcecopy_web 【【portswigger】第二专题-XSSÿ…...
【计算机视觉|人脸建模】3D人脸重建基础知识(入门)
本系列博文为深度学习/计算机视觉论文笔记,转载请注明出处 一、三维重建基础 三维重建(3D Reconstruction)是指根据单视图或者多视图的图像重建三维信息的过程。 1. 常见三维重建技术 人工几何模型仪器采集基于图像的建模描述基于几何建模…...
使用Jetpack Glance创建Android Widget
使用Jetpack Glance创建Android Widget Jetpack Glance发布,让我们使用Google提供的Jetpack Glance创建一个联系人列表小部件。 https://developer.android.com/jetpack/compose/glance 什么是Glance? Jetpack Glance是一个使用Kotlin API创建小型、轻…...
【MyBatis 学习三】子段不一致问题 多表查询 动态SQL
目录 一、解决Java实体类属性与数据库表字段不一致问题 🌷现象1:显示字段不对应:使用ResultType查询结果为null; 🌷解决办法:字段不对应:使用ResultMap解决。 二、数据库的多表查询 &#…...
15. Spring AOP 的实现原理 代理模式
目录 1. 代理模式 2. 静态代理 3. 动态代理 3.1 JDK 动态代理 3.2 CGLIB 动态代理 4. JDK 动态代理和 CGLIB 动态代理对比 5. Spring代理选择 6. Spring AOP 实现原理 6.1 织入 7. JDK 动态代理实现 8. CGLIB 动态代理实现 9. 总结 1. 代理模式 代理模式…...
死锁产生的原因以及解决方案
一.原因: 1.使用互斥锁. 2.除非主动释放,负责不能被抢占. 3.占用一把锁不释放,等待其它锁资源(保持现状). 4.锁形成环路. 二.解决方案: 给锁编号,上锁的时候从小到大依次上锁,譬如如果一个线程要上1号和2号两把锁,如果1号锁被占用,不能上2号锁,等其它线程释放1号锁资源后…...
【构造】CF1758 D
Problem - D - Codeforces 题意: 思路: 如果需要构造一个和为定值的序列,那么考虑n-d,n-d1,.....nd-1,nd这种形式 如果要保证不能重复,那么先考虑一个排列,然后在排列上操作 如果根据小数据构造出了一些简单情形&a…...
【腾讯云 Cloud Studio 实战训练营】永不宕机的IDE,Coding Everywhere
【腾讯云 Cloud Studio 实战训练营】永不宕机的IDE,随时随地写代码! 写在最前视频讲解:Cloud Studio活动简介何为腾讯云 Cloud Studio?Cloud Studio简介免费试用,上手无忧Cloud Studio 特点及优势云端开发多种预制环境可选metawo…...
JavaScript将一层级对象数组转为children嵌套的三层级树状对象数组(多级树状分类)
有时候后端返回的数据不适合前端,我们就需要进行转换,比如我想用elementUI的级联选择器,而这个组件对数据格式有要求,本篇文章将介绍如何将一层级对象数组数据格式转为三层级嵌套children数组,JavaScript、Vue、小程序等都适用,使用情景为多级分类,嵌套数据 情况1:原数…...
Windows脚本启动Redis、Java和Nginx服务指南
文章目录 1. 完整的批处理脚本2. Redis服务3. Java服务4. Nginx服务 1. 完整的批处理脚本 echo offcd C:\path\to\redis tasklist /FI "IMAGENAME eq redis-server.exe" 2>NUL | find /I /N "redis-server.exe">NUL if "%ERRORLEVEL%"&qu…...
【宝藏系列】STM32之C语言基础知识
【宝藏系列】STM32之C语言基础知识 文章目录 【宝藏系列】STM32之C语言基础知识1️⃣位操作2️⃣define宏定义3️⃣ifdef条件编译4️⃣extern变量声明5️⃣typedef类型别名 C语言是单片机开发中的必备基础知识,本文列举了部分 STM32 学习中比较常见的一些C语言基础知…...
探索自除数:发现区间内的神奇数字
本篇博客会讲解力扣“728. 自除数”的解题思路,这是题目链接。 对于给定的正整数num,我们如何判断它是不是自除数呢?根据定义,我们只需要把num的每一位数字都取出来,判断能不能整除num,如果发现num的某一位…...
打卡力扣题目四
#左耳听风 ARST 打卡活动重启# 目录 一、题目 二、解题代码 三、解题思路 关于 ARTS 的释义 —— 每周完成一个 ARTS: ● Algorithm: 每周至少做一个 LeetCode 的算法题 ● Review: 阅读并点评至少一篇英文技术文章 ● Tips: 学习至少一个技术技巧 ● Share: 分享…...
npm yarn nrm
npm 和 yarn npm和yarn都是包管理器,yarn是在2016年发布的,那时npm还处于V3时期,那时候还没有package-lock.json文件,不稳定性、安装速度慢等缺点经常会受到广大开发者吐槽。此时,yarn 诞生了。yarn 的优点,…...
LinkSwift:开源网盘直链解析引擎的技术解析与部署指南
LinkSwift:开源网盘直链解析引擎的技术解析与部署指南 【免费下载链接】Online-disk-direct-link-download-assistant 一个基于 JavaScript 的网盘文件下载地址获取工具。基于【网盘直链下载助手】修改 ,支持 百度网盘 / 阿里云盘 / 中国移动云盘 / 天翼…...
2026网站制作公司到底哪家好?国内主流PC网站建设服务公司排名
2026年1月,最新修订的《网络安全法》正式施行,叠加《网络数据安全管理条例》《个人信息保护法》细则落地,数据合规已成为网站建设的前置准入门槛。据中国互联网协会数据显示,2025年国内中大型企业官网合规整改率仅41.7%࿰…...
SenseVoice-Small ONNX模型效果惊艳展示:中英粤日韩五语种同步识别样例
SenseVoice-Small ONNX模型效果惊艳展示:中英粤日韩五语种同步识别样例 今天,我想带大家看一个让我眼前一亮的语音识别模型——SenseVoice-Small的ONNX版本。它最吸引我的地方,是能同时识别中文、英文、粤语、日语和韩语,而且速度…...
.games 域名重塑数字娱乐边界
在互联网基础设施日益垂直化的今天,域名已不再仅仅是简单的网络地址,它已进化为一种数字资产的视觉锤和品牌战略的先导。在众多的新顶级域名(gTLD)中,“.games”凭借其鲜明的行业属性,正在重构全球游戏开发…...
GLM-OCR效果展示:复杂版式、表格、公式识别案例全解析
GLM-OCR效果展示:复杂版式、表格、公式识别案例全解析 1. 专业级OCR的新标杆 在文档数字化处理领域,传统OCR技术往往在遇到复杂版式、数学公式或嵌套表格时束手无策。GLM-OCR的出现彻底改变了这一局面——这个轻量级多模态OCR模型在权威文档解析基准测…...
Intv_AI_MK11大模型微调实战:使用自有数据定制专属AI
Intv_AI_MK11大模型微调实战:使用自有数据定制专属AI 1. 为什么需要微调大模型 想象一下,你买了一套高级西装,虽然剪裁精良,但总感觉少了点个人特色。大模型就像这套西装,通用性强但缺乏针对性。微调就是为它"量…...
BGE-Reranker-v2-m3性能实测:毫秒级响应的RAG优化方案
BGE-Reranker-v2-m3性能实测:毫秒级响应的RAG优化方案 1. 引言:RAG系统的精准度挑战 在实际的RAG(检索增强生成)应用场景中,很多开发者都会遇到这样的困境:明明检索到了一堆看似相关的文档,但…...
基于西门子1200PLC的六层电梯控制系统设计,含PLC程序和HMI仿真工程,适用于博途V14...
基于西门子1200PLC的六层电梯控制系统设计,含PLC程序和HMI仿真工程,适用于博途V14及以上版本 附赠IO点表、PLC接线图、主电路图和控制流程图 提供服务,确保正常运行电梯控制系统总被当作PLC入门经典案例,但真要在博途环境里实现六…...
OpenClaw安全配置指南:Qwen3-4B模型权限与操作边界管理
OpenClaw安全配置指南:Qwen3-4B模型权限与操作边界管理 1. 为什么需要特别关注OpenClaw的安全配置 上周我在调试一个自动整理文档的OpenClaw任务时,差点酿成大祸。当时我让AI助手帮我整理桌面上的项目资料,结果它"聪明"地把所有文…...
HarmonyOS6 半年磨一剑 - RcRadio 组件核心架构与类型系统设计
文章目录前言一、双组件架构设计1.1 两个组件的职责划分1.2 双文件架构二、ComponentV2 装饰器体系2.1 Param 与 Require 的配合2.2 Local 的内部状态隔离三、类型系统设计3.1 基础类型别名3.2 RcRadioValue 的宽松类型3.3 RcRadioOption 接口四、modelValue 双向绑定模型4.1 受…...
