XCTF warmup


一.進入實驗環境后一臉懵逼

  

 

   我們右鍵查看源代碼,發現在注釋里面透露一個source.php

  

 

  我們打開這個source.php,發現是一段php代碼,我們先進行代碼審計,且發現   hint.php, 我們訪問一下這個文件

  

 

   得到包含flag的文件名。

  我們再來看看source.php的代碼部分:

  mb_substr() 函數返回字符串的一部分,之前我們學過 substr() 函數,它只針對英文字符,如果要分割的中文文字則需要使用 mb_substr()。

  注釋:如果 start 參數是負數且 length 小於或等於 start,則 length 為 0。

  用法:mb_substr ( string $str , int $start [, int $length = NULL [, string $encoding = mb_internal_encoding() ]] ) : string

  

 

   mb_strpos():返回要查找的字符串在別一個字符串中首次出現的位置

  用法:mb_strpos(haystack, needle)

  haystack:要被檢查的字符串。needle:要搜索的字符串。

  注意:mb_strpos()函數返回被查找的字符串在別一字符串中首次出現的位置

  中文查找中,盡量要聲明一下頁面的編碼為UTF-8。

  經過源碼審計,只要滿足checkfile函數,為字符串,且不為空,那么就會被include

  我們構造source.php? +字符串即可

  這里我們構造  source.php?/../../../../../ffffllllaaaagggg,再進行url編碼,得到flag

 


免責聲明!

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



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