CG-CTF
CG-CTF題目網址:https://cgctf.nuptsast.com/challenges#Web
第一題:簽到題
查看頁面源代碼,得到flag(干杯~);
第二題:md5 collision
分析:從源碼中可以知道,只有當a的值和QNKCDZO不同,而兩者的md5加密后的值相同的情況下,才會返回flag。
思路:首先,我們對QNKCDZO進行md5加密;
結果發現其md5的值為:0e830400451993494058024219903391
有意思的是其md5的值的前兩位是0e,而在PHP語言中,==為弱比較,0e開頭后面無論有多少數字,其值均被視為0(即0的n次方均為0),那么我們只需要構造一個a,使其md5的格式為“0e****”即可;
https://www.219.me/posts/2884.html 0e開頭MD5值小結;
取得flag(干杯~);
第三題:簽到2
分析:查看頁面源碼,可以注意到限制了輸入的長度為10,但是“zhimakaimen”有11位;
思路:通過burp抓包修改參數;
取得flag(干杯~);
第四題:這題不是WEB
分析:頁面上沒有任何提示,源碼中也沒有任何提示,唯一可能隱藏信息的只有GIF的圖片了。
思路:將圖片下載到本地,用記事本方式打開;
查找nctf,取得flag(干杯~);
第五題:層層遞進
分析:查看源碼,可以看出題目地址由兩個框架構成,源碼中也沒有任何信息。
思路:這題卡了我很久,一直沒有思路,因為在源碼中任何信息都找不到,我甚至仔細看了CSS的文件,感覺自己方向錯了;突然想到前幾天做PTE的時候用到了御劍這個工具,我想會不會這里也同樣存在一些其他的目錄或者文件呢,於是我嘗試用御劍掃描了一下;
發現除了首頁並沒有掃描出其他的目錄或者文件(反思:或許是我的字典還不夠完善。);這時候又想到或許可以用burp的爬蟲試一下;
誒,發現找到了幾個名字很有意思的東西,趕緊去看看是啥;
感覺會有東西,查看一下源碼;
果然!一眼就被我看出了flag的藏身之處(干杯~);
第六題:AAencode
感覺有點亂碼,我把這個文件下載到本地打開看看;
分析:一堆表情,根據題目AAencode,可以推測應該是一種編碼方式。百度一下,你就知道;
思路1:AAencode是js加密的一種可以把文字加密成表情的加密方式(據說還有ppencode/rrencode/jjencode https://www.cnblogs.com/android-html5/archive/2011/02/09/2533784.html);
https://www.qtool.net/decode (aaencode在線解密網址);
取得flag(干杯~);
思路2:雖然經過編碼加密,但是其本質上還是一種javascript語句,直接放在瀏覽器的控制台中運行;
同樣可以取得flag(干杯~);
未完待續~