i春秋 第二屆春秋歡樂賽-Hello-World

张伟文發表於2024-04-17

i春秋 第二屆春秋歡樂賽

Hello-World:

題目型別:web

題目描述:Hello-World,開啟靶機得一個Hello-World的介面:

解題方法:首先檢視一下網頁原始碼:

這裡看到一個src="flag.xmas.js",點選訪問一下:

404 Not Found,然後去掃描一下他的目錄檔案:

這裡發現掃出了大量的.git檔案,說明存在git原始碼洩露,然後使用Git_hack來hack一下:

python GitHack.py http://47.104.129.38:9005/.git

獲取了三個原始碼檔案,來分別檢視一下:

flag.php:

發現裡面並沒有有用的資訊,只有個假的flag資訊

flag.js:

裡面全是這種擺成心形的php程式碼,看了沒有找到有用的資訊

再換成Git_Extrack來掃掃一下看看(注意Git_Extrack要在python2的環境下才可以執行):

python2 git_extract.py http://47.104.129.38:9005/.git/

發現好像多掃出來一樣東西,檢視一下:

開啟看到裡面的內容和flag.js基本都是一樣的,本想著掃出點新東西出來會有點思路,但看到你們的內容就又沒有思路了,最後上網看了一下Wp,flag就在這兩個檔案裡面,要仔細比對他們的差別,然後用linux命令裡面的diff命令比較兩個檔案的差別:

diff flag.js flag.js.04bb09

果然一比較就發現還是有許多的不同,然後仔細的檢視不同的地方,差異的地方剛好拼湊出flag,多找幾個就可以發現選取字元的規則:

1.比較不同,找到不同的地方取下面綠色的字元(比如:o和f不同,取f)

2.要是下面的字元在上面缺少了,就取下面缺少的那個字元(比如:append和ppend,下面缺少了a就取a)

最後順著取下去,就可以得到完整的flag,最後的時候沒有後花括號},取完要自己補後花括號

得到flag:

flag{82efc37f1cd5d4636ea7cadcd5a814a2}

總結:難度到是不大,但是很腦洞大開的一道web題

相關文章