這次有空的時候報名參加了一下三葉草的招新比賽,比賽時間是一個月,題目都挺基礎挺好玩的,在這里記一下自己的題解同時把自己沒有做的題目也跟着writeup做一遍
第一題:cl4y:打比賽前先擼一只貓!: 貓貓陪我打ctf!
到了頁面之后審查元素。發現源代碼里面有提示:
這里我們需要使用get請求讓cat這個變量等於dog,就可以得到flag
第二題:cl4y:你看見過我的菜刀么
進入頁面之后很明顯是一句話木馬,白送的flag
菜刀使用Syc密碼連接
在根目錄下有flag這個文件夾,里面的flag.txt就是flag
第三題:Lamber:BurpSuiiiiiit!!!: 拿起你的burp,開始戰斗吧
提示了是使用burpsuite,下載了分享的文件之后打開是一個jar包,想起來burpsuite有增加擴展的功能,導入這個Extender包
也就是在burpsuite的extender的extensions選項里面選擇Add
添加了之后有一個output
並且提示我們去看error page
里面就有:
OK, I'll give you the flag now. Here is your flag Syc{BurpExtender_Are_guns_F0r_Hack3rs}
當然,下面還有一句base64編碼的話,解碼后如下:The first person to send a screenshot of the egg to Lamber, who will invite him to drink milk tea. Ps:Color Egg in Decompiled Source Code
第一個發現彩蛋的人Lamber會請他喝奶茶
這個彩蛋是在jar的反編譯源碼里面的
我之前做這個題的時候找到了彩蛋,這里就不贅述了
第四題:Ayrain:性感瀟文清,在線算卦:動作快點才能算到好卦。
隨便輸入admin/admin
頁面上返回:
Ding!你的算卦結果就在這兒啦!快來看!uploads/8d425a9a73db63b6b5def8acbf5da5d8c842d859/d033e22ae348aeb5660fc2140aec35850c4da997
可以看出來返回了算卦的結果,接着我們審查元素,源代碼里面有php源代碼泄露:
提示了我們使用條件競爭。可以看出來我們用get方法傳遞給 u 和 p,$content里面儲存着我們想要的flag,然后將$content 儲存在$savepath這個路徑里面,頁面返回這個儲存的路徑,在usleep(100000)之后,$content里面的內容被改成"you are too slow" 儲存的數據被改變,再次去訪問就不會得到正確的結果了
所以我們要做的就是,在unsleep(100000)這段時間里面,我們需要訪問到返回這個路徑的文件內容
因為它每次都是使用sha1來對傳遞的u來儲存,所以每次的儲存路徑實際都是相同的,我們使用burpsuite開兩個線程來訪問,一個不斷傳遞相同的u,一個不斷訪問u所對應的路徑
如圖:
獲取flag
另外一個思路是編寫python的腳本進行多線程爆破
第五題:cl4y:Easysql: 最近我做了一個小網站,我把flag放在里面了,不過我沒有把登陸密碼告訴任何人,所以你們是拿不到flag的!
題目提示我們要登錄網站,加上這里是sql注入,我們嘗試使用萬能密碼
登錄成功,查看到flag
有空在更