[BJDCTF2020]Mark loves cat
https://github.com/BjdsecCA/BJDCTF2020
打开网页,用dirsearch跑一遍,发现存在git泄露
用githack得到源码(这玩意弄了我好久,源码一开始就是弄不下来,最后改的线程数才弄下来)
最关键的是index.php和flag.php
index.php含有如下内容(前半部分无关内容已省略):
<?php include 'flag.php'; $yds = "dog"; $is = "cat"; $handsome = 'yds'; foreach($_POST as $x => $y){ $$x = $y; } foreach($_GET as $x => $y){ $$x = $$y; } foreach($_GET as $x => $y){ if($_GET['flag'] === $x && $x !== 'flag'){ exit($handsome); } } if(!isset($_GET['flag']) && !isset($_POST['flag'])){ exit($yds); } if($_POST['flag'] === 'flag' || $_GET['flag'] === 'flag'){ exit($is); } echo "the flag is: ".$flag;
flag.php内容如下:
<?php $flag = file_get_contents('/flag');
我们想知道$flag的内容,因此我们可以构造GET方法,yds=flag
这样$yds=$flag同时符合exit($yds)的条件
查看网页源代码得到flag
flag{9c9c9643-b24f-4017-a62c-09439022c898}