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題