1. 程式人生 > >ctf之python指令碼獲取flag

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