CG-CTF——WriteUp(一)
工具:
①Winhex:圖片隱寫工具,可通過搜索“ctf”“CTF”“key”“flag”等關鍵字得到flag。
②在線工具HtmlEncode/BASE64轉換:注意源代碼裏奇怪的字符串,可以嘗試解碼(分清類型)。
③BurpSuite:抓包工具,這個很好用。
④Wireshark:抓包工具。使用說明
WEB
- 1、簽到題
題目地址
直接F12查看源代碼就可以得到flag。
- 2、md5 collision
題目地址
先簡單學習一下md5()加密解密。
再來看題。題目中的collision是衝突的意思,猜測可能是前後條件矛盾。
只有當$a != 'QNKCDZO' && $md51 == $md52
的時候纔會回寫flag。但是這是矛盾的。
if ($a != 'QNKCDZO' && $md51 == $md52)
echo "nctf{*****************}";
這個題目利用了php弱類型。比如在==判等時,0exxxxx=0xsfdsf=0。而在源代碼中給出的 ‘QNKCDZO’ 的md5就是0e開頭,使用a傳輸一個md5也是以0e開頭的即可。
***參考:PHP Hash比較存在缺陷,影響大量Web網站登錄認證、忘記密碼等關鍵業務
‘QNKCDZO’ 經過 md5() 解密後是’0e830400451993494058024219903391’。
<?php
$str = "QNKCDZO";
echo md5($str);
?>
構造a=s155964671a(這裏用所有0e開頭的md5小節都可以),得到flag。
注:0e開頭的MD5小節
0e545993274517709034328855841020:s155964671a
0e342768416822451524974117254469:s214587387a
0e848240448830537924465865611904:s214587387a
0e848240448830537924465865611904:s878926199a
0e545993274517709034328855841020:s1091221200a
0e940624217856561557816327384675:s1885207154a
0e509367213418206700842008763514:s1502113478a
0e861580163291561247404381396064:s1885207154a
0e509367213418206700842008763514:s1836677006a
0e481036490867661113260034900752:s155964671a
0e342768416822451524974117254469:s1184209335a
0e072485820392773389523109082030:s1665632922a
0e731198061491163073197128363787:s1502113478a
0e861580163291561247404381396064:s1836677006a
0e481036490867661113260034900752:s1091221200a
0e940624217856561557816327384675:s155964671a
0e342768416822451524974117254469:s1502113478a
0e861580163291561247404381396064:s155964671a
0e342768416822451524974117254469:s1665632922a
0e731198061491163073197128363787:s155964671a
0e342768416822451524974117254469:s1091221200a
0e940624217856561557816327384675:s1836677006a
0e481036490867661113260034900752:s1885207154a
0e509367213418206700842008763514:s532378020a
0e220463095855511507588041205815:s878926199a
0e545993274517709034328855841020:s1091221200a
0e940624217856561557816327384675:s214587387a
0e848240448830537924465865611904:s1502113478a
0e861580163291561247404381396064:s1091221200a
0e940624217856561557816327384675:s1665632922a
0e731198061491163073197128363787:s1885207154a
0e509367213418206700842008763514:s1836677006a
0e481036490867661113260034900752:s1665632922a
0e731198061491163073197128363787:s878926199a
0e545993274517709034328855841020:s878926199a
- 3、簽到2
題目地址
既然提示了請輸入口令zhimakaimen,輸入試試,發現無法“開門”。F12查看源碼,發現一行定義輸入長度的代碼,設定的最大值是10,數一數“zhimakaimen”一共有11位。原來如此!雙擊這行代碼修改爲11。再次輸入口令,開門,即可得到flag。
- 4、這題不是WEB:
題目地址
真的,你要相信我!這題不是WEB
這題的確不是web,算misc…
解壓下來是個圖片。用winhex打開該圖片,左上角菜單欄選擇Search,選擇Find Text(查找文本),輸入搜索“ctf” “CTF” “key” “flag”等關鍵字即可得到flag。
*提示:快捷鍵:ctrl+F。
- 5、層層遞進:
題目地址
打開鏈接發現是個網頁。用F12查看器發現什麼都看不出來。Ctrl+U 查看頁面源代碼試試。
發現裏面還嵌套了一個網頁,再點進去。
發現仍然有嵌套,再點。經過好幾層SO.html的嵌套,終於發現了一個全新的網頁。
打開網頁,F12仔細觀察其中代碼,終於得到flag。
- 6、AAencode
題目地址
javascript aaencode
在chrome中打開,發現中文亂碼。這是由於還沒有安裝解碼插件。
去擴展程序裏下載Charset插件(修改網站的默認編碼),將編碼格式改爲UTF-8。
這串字符串就會變成這樣。
全部複製到 console(控制檯)裏,回車鍵enter一下。
跳出一個窗口,得到flag。
- 7、單身20年
題目地址
這題可以靠技術也可以靠手速! 老夫單身二十年,自然靠的是手速!
鏈接打開,看到提示,點擊。
發現什麼也沒有,這就奇怪了。
思考用burpsuite抓包。設置intercept is on,開始抓包。
刷新網頁,發現Target變成黃字,應該是抓到了什麼,去看看。
Target(目標)——顯示目標目錄結構的的一個功能
哈哈,果然有flag。
- 8、php decode
見到的一個類似編碼的shell,請解碼
瞭解php的都知道,eval不能回寫,正確應爲echo。
修改爲echo。運行即可得到flag。
- 10、單身一百年也沒用
題目地址
是的。。這一題你單身一百年也沒用
看題目就知道這題與第七題很像,也是考驗“手速”。還是按照第七題的方法來做,bp抓包,得到flag。