XCTF攻防世界web高階練習 mfw

2022-05-07 12:54:09 字數 2536 閱讀 3482

xctf攻防世界web高階練習—mfw題目為mfw,沒有任何提示。直接開啟題目,是乙個**

大概瀏覽一下其中的內容,看到其中url變化其實只是get的引數的變化

檢視它的原始碼,看到有乙個?page=flag,flag應該在這個頁面裡面

但是進入這個頁面發現是空的

注意到有這樣乙個頁面,說道用到了git,想到是否可能和git原始碼洩露有關

於是試一下這個url,果然有貓膩

得到原始碼後直接看flag.php,但是沒啥有價值的東西

大概瀏覽一下所有的php檔案,發現只有index.php有可能有切入口

於是分析index.php

<?php 

if (isset($_get['

page

']))

else

//以get方式獲得乙個page變數,如果沒有,則設定為home

$file = "

templates/

" . $page . "

.php";

//將page變數拼接成乙個templates下的php檔案,設定為變數file

// i heard '..'

isdangerous!

assert("

strpos('$file', '..') === false

") or die("

detected hacking attempt!");

//判斷file中是否有"

.. "

,如果有則直接退出

//todo: make this look nice

assert("

file_exists('$file')

") or die("

that file doesn't exist!

")

其中assert()函式會將括號中的字元當成**來執行,並返回true或false。

strpos()函式會返回字串第一次出現的位置,如果沒有找到則返回false

這裡的兩個assert看起來沒什麼破綻,但是用到了上面的file變數

於是重心就放在file變數中,發現file變數是用我們輸入的page變數拼接而成的,而且沒有任何的過濾,看到了勝利的曙光!

我們可以在這段輸入的字元中插入system函式來執行系統命令。

$file = "

templates/

" . $page . "

.php";

assert("

strpos('$file', '..') === false

") or die("

detected hacking attempt!

");

注意到呼叫file時用的單引號和括號來限制file的範圍。

於是可以構造url為

因為在strpos中只傳入了abc,所以其肯定返回false,在利用or讓其執行system函式,再用" // "將後面的語句注釋掉

回車,f12看看原始碼,得到flag!

關於原始碼洩露

1.svn 原始碼洩露

svn(subversion)是源**版本管理軟體。在使用svn管理本地**過程中,會自動生成乙個名為.svn的隱藏資料夾,其中包含重要的源**資訊。但一些**管理員在發布**時,不願意使用『匯出』功能,而是直接複製**資料夾到web伺服器上,這就使.svn隱藏資料夾被暴露於外網環境,黑客可以借助其中包含的用於版本資訊追蹤的『entries』檔案,逐步摸清站點結構。

例:工具:seay-svn

2.git 原始碼洩露

在執行git init初始化**庫的時候,會在當前目錄下面產生乙個.git的隱藏檔案,用來記錄**的變更記錄等等。在發布**的時候,把.git這個目錄沒有刪除,直接發布了。使用這個檔案,可以用來恢復源**。

例:工具:githack

3. **原始碼壓縮備份洩露

一般**管理員在日常維護中,總會把**原始碼給備份一下,防止**出現問題時,能馬上的恢復使用,不過一般的管理員安全意識不高,在備份的時候,會使用一些常見的壓縮備份名,而且不光使用常見的備份名字,大部分的管理還會把備份好的原始碼直接放在**根目錄裡

常見備份檔案字尾名:

.rar

.zip

.7z.tar.gz

.bak

.swp

.txt

.html

XCTF攻防世界練習區 web題 Robots

題目描述 x老師上課講了robots協議,小寧同學卻上課打了瞌睡,趕緊來教教小寧robots協議是什麼吧。目標 掌握robots協議的知識。robots.txt是搜尋引擎中訪問 的時候要檢視的第乙個檔案。當乙個搜尋爬蟲訪問乙個站點時,它會首先檢查該站點根目錄下是否存在robots.txt,如果存在,...

XCTF攻防世界web新手練習 1 robots

題目為robots,首先題目描述為 進入題目後空白一片,f12檢視原始碼 想起題目與robots相關,試試檢視robots.txt 得到flag在f1ag 1s h3re.php這個檔案裡,便前往它。得到flag!以下是維基百科內容 訴網路搜尋引擎的漫遊器,此 中的哪些內容是不應被搜尋引擎的漫遊器獲...

XCTF攻防世界web新手練習 3 cookie

題目為cookie,描述資訊 題目肯定與cookie有關,進入題目,看到 用burp抓包,看到響應頭設定了乙個cookie,並提示cookie.php 於是檢視cookie.php,提示看響應 於是再次用burp抓包,在響應頭中得到flag!維基百科 cookie 複數形態cookies 又稱為 小...