ctf之python指令碼獲取flag
題目:GetFlag
解題連結:http://106.75.26.211:2222
訪問連結頁面顯示如下:
在頁面提示中captcha通過md5加密後的前六位是b8cda8,說明需要通過指令碼來破解:
指令碼如下:
執行結果:
這裡由於不知道登入使用者和密碼,想到用用SQL注入的萬能密碼嘗試一下:admin' or '1'='1
登入後頁面顯示如下:
訪問三個檔案都需要下載:
在a.php裡面提示:
提示訪問根目錄:
檢視原始碼:找到了正確的url:
訪問:http://106.75.26.211:2222/file/download.php?f=/var/www/html/flag.php下載flag.php
通過檢視原始碼發現應該通過post傳遞flag=flag
再檢視原始碼:得到flag
題目:天下武功唯快不破
解題連結:http://106.75.26.211:3333
訪問連結頁面顯示:
寫一個python指令碼:
直接執行指令碼就可得到flag。
題目:fuzzing
解題連結:http://106.75.108.111:2222
訪問頁面顯示:頁面提示這什麼都沒有
檢視原始碼:也只有一個什麼也沒有
這種情況下可以先用抓包工具抓包,看有沒有資訊:抓包重放包之後發現了一個hint:大內網ip
想到應該是需要偽造一個大內網ip:比如10.0.0.1這樣的
偽造ip後抓包:再重放包,得到了一個PHP檔案
訪問http://106.75.108.111:2222/m4nage.php
頁面顯示:
給一個key,那就傳一個key,頁面顯示如下
頁面提示key不正確,md5加密後的key為,正確的key是ichunqiu後5位是a-z0-9
後5為key值需要用指令碼來破解:
python指令碼如下:
執行結果
傳入正確key:
訪問:http://106.75.108.111:2222/xx00xxoo.php
訪問:106.75.108.111:2222/x0.txt,頁面顯示為程式碼:上一個頁面提示flag在authcode()函式中,因此把程式碼直接複製到本地
authcode()有四個變數,把變數值傳入後再列印函式:
執行php檔案:得到flag