「作者主頁」:士別三日wyx
此文章已錄入專欄《網路攻防》,持續更新熱門靶場的通關教程
「未知攻,焉知收」,在一個個孤獨的夜晚,你完成了幾百個攻防實驗,回過頭來才發現,已經擊敗了百分之九十九的同期選手,
[ACTF2020 新生賽]Include
- 一、題目簡介
- 二、思路分析
- 三、解題步驟
- 1)包含 flag.php
- 2)PHP偽協議編碼檔案
- 3)解碼檔案內容
- 四、總結
一、題目簡介
進入題目鏈接后只有一個「鏈接」

點擊鏈接后來到 falg.php 頁面,里面是一句作者深情的「問候」,

二、思路分析
這一關是「檔案包含」漏洞,推薦使用「PHP偽協議」讀取檔案原始碼,
在tips頁面,右鍵查看頁面源代碼

是一個 a 標簽,通過 file 「引數」傳遞了一個「檔案名」 flag.php,點擊鏈接后會進入 flag.php 檔案的頁面,很明顯是一個檔案包含的功能,根據點擊后的url可以驗證這一觀點

CTF有個不成文的「規矩」,如果有一個檔案以flag命名,那么flag大概率就在這個檔案里面,右鍵查看「頁面原始碼」,檢查是否存在資訊泄露,

很明顯,前端原始碼沒有flag,那只能在后端原始碼里面了,檔案包含功能有個「特性」,對于被包含的檔案,「代碼」部分會直接執行,不會在頁面中顯示;「非代碼」部分(即不能執行的內容)則會在頁面中顯示,針對這一特性,我們可以將被包含檔案的內容「編碼」為不可執行的內容,讓其在頁面中顯示,再將頁面中的內容在本地「解碼」,就可以拿到檔案的后端原始碼了,這里我們可以使用PHP偽協議對檔案內容進行base64編碼,點我進入PHP偽協議參考文章
三、解題步驟
1)包含 flag.php
點擊 tips 「鏈接」進入另一個頁面,即包含 flag.php 檔案


2)PHP偽協議編碼檔案
使用PHP偽協議對檔案內容進行base64「編碼」,將url中file引數替換為以下payload
?file=php://filter/read=convert.base64-encode/resource=flag.php
編碼后的檔案內容會在頁面中輸顯示

3)解碼檔案內容
將頁面中的檔案內容復制下來,本地進行base64「解碼」,base64解碼參考連接

flag就在解碼的內容中,提交即可
四、總結
喜歡一個東西首先要先學會「尊重」,雖然網路安全的圈子不乏各種灰產,以及高調宣傳自己是黑客的腳本小子,但不可否認,這個圈子仍有不少人保持著「舉世皆濁我獨清,眾人皆醉我獨醒」的心態,努力磨礪技術,提升自身修養,讓互聯網變得更加安全
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/339046.html
標籤:其他
上一篇:《華為HCIE安全認證》學習筆記 - 雙機熱備(五)
下一篇:《資訊保障和安全》第三章
