[ACTF2020 新生賽]BackupFile

一只本本發表於2024-11-20

使用dirsearch掃描:

  dirsearch -u http://b31cefa6-24d4-4f14-82c3-0fdba166cecf.node5.buuoj.cn:81/ -e bak -t 1 -d 1 -o ./reports/buuoj.txt

掃描結果為:

檔案掃描得到命令index.php.bak

儲存之後,把.bak字尾去掉。開啟檔案得到程式碼,也可以直接用記事本開啟

  <?php
  include_once "flag.php";
  
  if(isset($_GET['key'])) {
      $key = $_GET['key'];
      if(!is_numeric($key)) {
          exit("Just num!");
      }
      $key = intval($key);
      $str = "123ffwsfwefwf24r2f32ir23jrw923rskfjwtsw54w3";
      if($key == $str) {
          echo $flag;
      }
  }
  else {
      echo "Try to find out source file!";
  }

透過審計程式碼發現,key至接收數字型別,且會把資料轉為整型格式,最後和123ffwsfwefwf24r2f32ir23jrw923rskfjwtsw54w3字串進行弱相等(==)比較。
==為弱相等,即當整數和字串型別相比較時。會先將字串轉化為整數然後再進行比較。比如a=123和b=123admin456進行==比較時。則b只會擷取前面的整數部分。即b轉化成123。
所以只要輸入?key=123即可。

相關文章