PHP - preg_replace()


Read flag.php.

 

 

 /e 模式:將替換串中的內容當作代碼來執行

關於修飾符 /e 被棄用的官方文檔:

 https://www.php.net/manual/zh/reference.pcre.pattern.modifiers.php#reference.pcre.pattern.modifiers.eval

  如果設置了這個被棄用的修飾符, preg_replace() 在進行了對替換字符串的 后向引用替換之后, 將替換后的字符串作為php 代碼評估執行(eval 函數方式),並使用執行結果 作為實際參與替換的字符串。單引號、雙引號、反斜線(\)和 NULL 字符在 后向引用替換時會被用反斜線轉義.
  例如:

   

  字符串被替換的同時,也會執行其中strtoupper函數

因此這里需要傳遞php指令,讀取flag.php

三個參數分別是:
  $pattern: 要搜索的模式,可以是字符串或一個字符串數組。
  $replacement: 用於替換的字符串或字符串數組。
  $subject: 要搜索替換的目標字符串或字符串數組。
開始嘗試使用system命令函數

   

 

 還是直接用file_get_contents讀取

  


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM