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

[网鼎杯 2020 半决赛]AliceWebsite WP

一、题目分析

题目地址:https://buuoj.cn/challenges#[网鼎杯 2020 半决赛]AliceWebsite

拿到题目,我们点击查看页面,发现没有什么功能点
image

于是访问题目后发现 URL 中的参数可以用来读取文件,初步判断可能存在文件包含漏洞
进一步查看题目给出的源码如下:

<?php
$action = (isset($_GET['action']) ? $_GET['action'] : 'home.php');
if (file_exists($action)) {include $action;
} else {echo "File not found!";
}
?>

二、源码审计

1. 参数来源分析

$action = (isset($_GET['action']) ? $_GET['action'] : 'home.php');
  • $action 直接从 GET 参数中获取
  • 用户可以完全控制其内容
  • 未对输入进行任何过滤或限制

2. file_exists 函数分析

file_exists($action)

file_exists() 是 PHP 内置函数,用于判断指定路径的文件或目录是否存在,其作用是避免程序操作不存在的文件而产生报错。


3. include 问题

include $action;
  • include 会解析并执行包含的 PHP 文件
  • 当包含路径由用户可控时,极易造成 本地文件包含漏洞(LFI)

三、漏洞利用

读取 flag 文件

在确认存在 LFI 后,通过不断尝试服务器常见路径,最终读取 flag 文件:

http://b41b6e72-aa23-4f48-a7fe-01a0664e72c0.node5.buuoj.cn:81/index.php?action=../../../flag

image

成功获得 flag。


http://www.jsqmd.com/news/125102/

相关文章:

  • OpenCore Legacy Patcher技术解析:突破硬件限制实现macOS系统升级
  • KeymouseGo自动化指南:从零开始掌握高效操作技巧
  • ppInk终极指南:免费开源屏幕标注工具的完整使用教程
  • 老Mac重生指南:OpenCore Legacy Patcher技术详解
  • 终极指南:如何在ComfyUI中部署BiRefNet实现专业级背景移除
  • 2025年必看:鱼竿十大品牌精选盘点:中国十大品牌鱼竿,国产十大名牌鱼竿推荐 - 品牌2026
  • 鸣潮自动化工具终极指南:从入门到精通的完整教程
  • WorkshopDL使用指南:轻松下载Steam创意工坊模组的完整教程
  • 开源阅读鸿蒙版完整终极指南:打造纯净无广告的数字书房
  • Python通达信数据获取终极指南:三步搞定金融数据分析难题
  • 开源阅读鸿蒙版完整教程:快速打造个性化数字阅读空间
  • 完整教程:5分钟掌握MediaCreationTool.bat快速部署Windows系统
  • ComfyUI BiRefNet 背景移除插件完整配置指南
  • 3天快速上手:openpilot自动驾驶系统完整搭建指南
  • 快速掌握Sketchfab模型下载:Firefox专用工具终极指南
  • 网盘下载提速神器:5分钟掌握LinkSwift直链下载终极方案
  • 鸣潮智能自动化革命:告别手动操作,开启一键式游戏新体验
  • Windows系统部署终极指南:MediaCreationTool.bat一键安装全解析
  • Nintendo Switch系统注入终极指南:TegraRcmGUI一键操作全流程
  • CTF-NetA流量分析:零基础到高手的快速通关指南
  • Nginx中级のNginx七层负载均衡
  • WorkshopDL:跨平台模组下载的终极解决方案
  • 选点问题
  • Windows上的AirPods智能管家:让千元耳机物超所值
  • openpilot车道检测终极指南:从暴雨到逆光的全天候解决方案
  • WorkshopDL:跨平台模组下载助手,让创意工坊触手可及
  • UAssetGUI终极指南:Unreal Engine资源文件处理利器
  • 3分钟快速上手WebPlotDigitizer:从图表图像到精确数据的智能转换方案
  • 如何快速掌握pysnowball:雪球股票数据获取的终极指南
  • MusicBee网易云歌词插件终极配置指南:快速实现完美歌词同步