[BJDCTF2020]Mark loves cat
- 2022 年 2 月 9 日
- 筆記
首先打開題目
首先每個能點的按鈕點一下,發現都是回到最頂上。
於是我開始查看源代碼。
把源代碼拖到最底下發現有一個不起眼的dog
然後嘗試抓包。
實在沒辦法了,然後從github上面把源代碼下載下來了
這是flag.php裏面的
<?php $flag = file_get_contents('/flag');
?>
這是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;
聯想最開始的dog
所以這個代碼應該是從exit($yds)出來了
於是我直接get傳參
?yds=flag
就可以得到答案了。
又或者我們get傳參
?is=flag&flag=flag
也可以得到答案,答案就在源代碼裏面。