CTFHub Web題學習筆記(Web前置技能+信息泄露題解writeup)


今天CTFHub正式上線了,https://www.ctfhub.com/#/index,之前有看到這個平台,不過沒在上面做題,技能樹還是很新穎的,不足的是有的方向的題目還沒有題目,CTF比賽時間顯示也挺好的,這樣就不用擔心錯過比賽了。

先做簽到題,訪問博客就可以拿到。

Web前置技能,

 

 可以看到大部分題目都還沒有補充完成。

HTTP協議第一題:請求方式

 

 一般來說我們比較常用的是GET和POST方法

開啟題目

 

 可以看到是需要我們使用CTFHUB方法訪問該網址,burpsuite里面修改請求方法好像只能修改成POST和GET,沒有自定義修改的,所以我們使用Linux下面的curl命令命令行訪問該網址,並自定義請求方法為CTFHUB

也可以在windows上下載curl命令,-v是詳細信息 -X是指定請求方法

 

 注意,訪問的時候在網址后面不要忘記/index.php了,否則會提示不允許訪問的

可以看到已經拿到flag了

 

 第二題302跳轉,使用burpsuite

 

 

 

 點擊進去之后可以看到有一個鏈接,下意識點擊抓包

 

 抓取之后repeater,可以看到flag出現了,同時相應狀態碼是302,證明是重定向了,但是burpsuite里面默認不重定向,直接就能拿到flag

 

第三題 cookie

 

 cookie是我們訪問網站的時候證明自己身份的憑證

想要抓到cookie可以用抓包工具或者F12,這里我還是使用burpsuite

 

 可以看到告訴我們身份是gurst,但是admin才能獲得flag

 

 可以看到cookie里面admin=0,很容易我們能想到將admin改為1,

 

 垂直越權漏洞,對於cookie的審查不夠嚴格,獲得flag

 

第四題你 基礎認證

 

 這道題比之前幾道題要難一點點

首先是基本認證這個知識點,但是題目已經給出了相關鏈接,我們看一看:https://zh.wikipedia.org/wiki/HTTP%E5%9F%BA%E6%9C%AC%E8%AE%A4%E8%AF%81

 

 可以看到這里是需要我們傳遞一個base64之后的用戶名和密碼 格式是 用戶名:密碼,然后將其base64加密,放在Basic之后

我們開啟環境,

 

 點擊click之后

 

 可以看到需要我們輸入用戶名和密碼,並且可以知道用戶名是admin,隨便輸一下可知輸入錯了之后會重復彈出該窗口讓我們輸入

當然題目還有一個附件,我們下載下來看

 

 很明顯是密碼字典,所以可以猜到這道題的目的是讓我們按照基礎認證的加密方式即base64,爆破密碼獲取flag

於是寫一個小腳本將密碼和admin組合起來之后base64加密保存為新的腳本

import base64

f=open('10_million_password_list_top_100.txt','r')
spring=open('test123456.txt','w')
lines=f.readlines()
for line in lines:
    Authorization="admin:"+line.strip('\n')
    Authorizationbs64=base64.b64encode(Authorization)
    print Authorizationbs64
    spring.write(Authorizationbs64)
    spring.write("\n")

f.close()
spring.close()

  

 

 接着點擊click,在burpsuite里面抓包,使用intruder模塊爆破

 

 x就是我們的爆破字典,注意前面需要添加

Authorization: Basic 

  

 

 這個是按照已知信息放置的,然后就可以爆破啦

 

 可以看到返回包長度里面有一個是394,跟其他的不同,查看其響應包

 

 獲得flag,得到了flag最后還是解密一下,看看密碼是多少

 

 admin:abc123

哈哈哈,這個密碼猜幾次可能也可以成功吧

 

第五題 響應包源代碼

 

 

 

 貪吃蛇游戲,綠色加長度,棕色游戲結束

既然是響應包源碼,我們就直接查看源代碼吧

 

 獲得flag

 

WEB前置技能就做完了

 

接下來是信息泄露

第一題:目錄遍歷

 

 

 

 

 

 目錄遍歷漏洞,可以通過谷歌語法批量發現,如:intitle:Index of intext:Parent Directory

 

 

 

 

 

 在flag_in_here/2/1文件夾下發現flag.txt

點擊獲得flag

 

第二題PHPINFO

這個算是低危的信息泄露,能夠泄露一部分服務器的配置,比如說禁用了哪些函數。

 

 

 

 

 

 

直接在界面搜索flag吧

 

 

 

接着是備份文件下載

里面有四個小分支

網站源碼:

 

 

 題目已經給出了足夠多的提示了

 

 

 當然可以一個個試,在真實環境中我們一般使用掃描工具掃描是否有備份文件(御劍等)

這里憑直覺猜測www.zip

 

 

 

 

 

 發現txt文件,不過里面是

 

 

 我差點以為是隱寫MISC題目了,找了好久

然后以為不會做的時候,在網址后面添加了那個txt文件的名字訪問,獲得flag:(

 

 第二題bak文件

 

 bak文件也是備份文件泄露之一,在實際場景中也經常遇到

 

 

 

 可知flag應該在index.php的備份文件里面,於是訪問index.php.bak

 

 

 

 下載獲得flag

 

第三題 VIM緩存

 

 這里的知識點是:

參考博客:https://www.cnblogs.com/leixiao-/p/9748685.html

vim會自動生成的備份文件以及臨時文件

臨時文件是在編輯文本時就會創建的文件,如果程序正常退出,臨時文件自動刪除,如果意外退出就會保留,文件名為  .filename.swp,(第一次產生的交換文件名為“.filename.txt.swp”;再次意外退出后,將會產生名為“.filename.txt.swo”的交換文件;而第三次產生的交換文件則為“.filename.txt.swn”)

因為這里已經告訴我們是index.php了,所以其意外退出而保留的臨時文件是 .index.php.swp

.index.php.swp

  注意前面的點不要落下了

 

 

 

 得到flag

 

第四題:.DS_Store

 

 題目已經提示了,於是我們直接下載該文件

 

 下載之后搜索f開頭的文件

 

 可以看到這是txt文件,我們往前將整個文件名搜集為5e58cacb03eb652fa1c89746b59f6a60.txt,因為.DS_Store是MAC該目錄下所有文件的清單,所以我們直接訪問

 

 得到flag

 

回到上一層目錄的第四題 Git泄露

第一題 Log日志文件

 

 這個在真實環境中也經常見到

 

剛才去吃飯了,繼續編輯。

我們可以使用GitHack進行.git泄露的利用,工具下載地址:https://github.com/BugScanTeam/GitHack

我這里是windows10環境,使用是需要將git環境安裝在環境變量里。

 

安裝了git后, 在當前文件夾右鍵打開git bash環境

 

 就會將泄露的部分下載在dist文件夾下。

 

 我們在此位置檢查git提交歷史記錄log(同時因為題目也是Log,所以突破點想到日志信息)

 

 可以看到add flag之后又將其移除了,所以我們只需要檢查當前文件和上一次提交文件的不同之處即可

使用git diff 命令

 

 獲得flag

 

第二題 Stash

 

 同樣先使用GitHack將git clone到本地,然后查看

stash這個知識點我不知道,去查了一下資料:

 git stash

能夠將所有未提交的修改(工作區和暫存區)保存至堆棧中,用於后續恢復當前工作目錄。

查看當前堆棧中保存的未提交的修改 使用git stash list

 

 可以看到add flag這個工作也被保存在了堆棧中,所以只需要知道如何恢復就可以了

使用git stash apply

 

 恢復了一個txt文件,查看之

 

 獲得flag

 

第三題 index

 

 

 同樣先將其clone到本地

 

 

 因為題目是index,所以我們考慮到git的index暫存區文件,這里我參考了這篇博客:https://www.cnblogs.com/panbingwen/p/10736915.html

我們先使用git ls-files查看暫存區里面有哪些文件

 

 

 當然,index在文件夾里面存在,我們也可以直接打開,不過是亂碼

 

 

 所以我們還是在git 的bash環境中進行操作

接着我們想要查看27741192706094.txt文件內容

首先,我們需要查看27741192706094.txt文件對應的Blob對象,如下:

git ls-files -s -- 27741192706094.txt 或者直接 git ls-files -s

得到:

 

 然后通過Blob對象,查詢27741192706094.txt.txt里面的內容:

git cat-file -p 441a2

 

 得到flag

 

.git泄露題目做完,返回上一層級

信息泄露第五題 svn泄露

 svn泄露,svn我們首先下載wc.db文件,主要知識點:

當svn使用了checkout命令后就會生成.svn文件,里面存儲着備份信息。svn信息泄露漏洞主要利用了里面的entrist文件,通過.svn/entrist可以下載里面的所有代碼,但是只能作用在svn1.6之前的版本;第二個是作用在svn1.7后的版本,svn1.7后的版本引入一個名為wc.db的數據庫數據存放文件來管理文件,通過訪問.svn/wc.db可以下載到本地。
這里是svn1.7之后的版本,我們下載wc.db文件,/.svn/wc.db

 

 使用SQLiteStudio打開,發現flag_1831822206.txt文件,訪問之

 

 訪問的時候是404,應該是被刪除了,我們使用dvcs-ripper工具:https://github.com/kost/dvcs-ripper

做題目有始有終,把最后兩個題目的題解寫了

在linux的環境下使用,以及我們需要先下載svn環境,還有perl環境,不然會運行不了dvcs-ripper

然后我們使用

perl rip-svn.pl -u http://challenge-8cad6507cc3f2aca.sandbox.ctfhub.com:10080/.svn/

命令來clone svn文件

 

 我們需要使用ls -al才可以看到隱藏的文件夾.svn

cd進去再ls -al

 

 因為之前我們已經嘗試了wc.db數據庫里面的文件了,但是發現flag.txt已經被刪除了,所以我們到緩存文件夾pristine文件夾里面去尋找flag

 

 在87文件夾里面獲取flag

 

信息泄露最后一題:HG泄露

 

 這道題目還是使用dvcs-ripper工具:https://github.com/kost/dvcs-ripper

使用

perl rip-hg.pl -u http://challenge-0ecf6f106f3a58be.sandbox.ctfhub.com:10080/.hg/

本地生成了.hg隱藏文件夾

 

 然后再.hg文件夾里面找啊找

 

 有一個flag的txt文件,但是不能cat查看,因為知道了名字,所以我們嘗試在網址上進行訪問

http://challenge-0ecf6f106f3a58be.sandbox.ctfhub.com:10080/flag_64335441.txt

 

 獲得flag

整體來說還是很有意思的題目,技能樹的題目方式也很新穎,后續的題目做了之后接着出題解吧,奧利給,一起成為信息泄露低危漏洞小子


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2026 CODEPRJ.COM