战队第二次考核wp
本帖為記錄長右網(wǎng)絡(luò)空間安全戰(zhàn)隊第二次考核題內(nèi)容,希望可以記住自己做過的題,讓自己更好地進(jìn)步。
Sign
簽到題,直接提交flag即可。
Misc
1.小熊貓變成小兔嘰
附件為一個名為zip的文件,沒有后綴,在文件名后加上.zip(壓縮文件的后綴名),文件變?yōu)閴嚎s文件。打開壓縮文件,發(fā)現(xiàn)一張圖。
根據(jù)題目中“小熊貓拉長一下”,猜測需要改變圖片的高度或者寬度。鼠標(biāo)右鍵查看圖片屬性:
發(fā)現(xiàn)圖片高度比較低,于是考慮增加圖片的高度。這里用到的工具為WinHex。
具體操作方法請參考CTF 圖片隱寫之修改圖片高寬
簡單來說該圖片的高度為380像素,于是將380轉(zhuǎn)換成十六進(jìn)制,為017c,然后在WinHex找到017c,將其改為我們想要改正的數(shù)值的十六進(jìn)制形式。
我在具體操作中將改圖片的高度改為420像素(十六進(jìn)制形式為01a4),成功得到圖片下方的字符串:
字符串為:olee{qlr3y_16q51_y3q1l_rc654_yap45}
參考題目中給出的flag形式,發(fā)現(xiàn)這串字符形式已經(jīng)和flag的形式一樣了。提示給出“低頭看看鍵盤”,于是去搜和鍵盤相關(guān)的解碼,發(fā)現(xiàn)鍵盤密碼(鍵盤上的字母順序分別對應(yīng)字母表里的字母順序,如QWE對應(yīng)ABC),OLEE正好對應(yīng)了ISCC,于是使用鍵盤密碼的方式,得到最后的flag.
iscc{asd3f_16a51_f3a1s_dv654_fkj45}
2.Broken WUHAN
下載附件,為一個不可讀的圖片。使用WinHex打開圖片,
發(fā)現(xiàn)圖片的文件頭標(biāo)志不對(.jpg文件的頭標(biāo)志應(yīng)該為FFD8FF),于是修改頭標(biāo)志,
保存,成功打開圖片,得到flag.
有關(guān)文件的頭標(biāo)志,請參考:各類文件的文件頭標(biāo)志
flag{wu_Han_jia_Y0u!}
3. QRQRQRQRQRQRQRQRQRQRQRQRQR
下載附件,是一張二維碼的動態(tài)圖
既然是動態(tài)圖,那么肯定要逐一查看每一幀,找出最特殊的一幀。可以使用ps打開動態(tài)圖,進(jìn)行逐一查看,但是有100幀,這樣有些費事。我這里使用一個軟件Namo GIF編輯器,比較方便:
于是取出第62幀,
第62幀與其他二維碼最大的不同之處就是多了右下角的小方框。對比一般二維碼,這張二維碼少了三個定位符,于是用ps給這圖加上定位符
用微信或者支付寶掃一掃,得到flag.(掃不出來請多掃掃,圖片還原度不高會導(dǎo)致識別率較低)
flag{GYSEC_GOGOGO}
4.來玩拼圖呀
附送的音樂為:Time,挺好聽的。一開始是真的沒想到這首歌的意思。附件就是二百多張拼圖,而且順序是亂的,真要拼出來花兒都謝了。其實Time的真正意思是讓圖片按照時間排序,就可以得到按順序的圖片了,再用ps進(jìn)行拼圖,就很容易了。
flag{fate_stay_nt}
Web
1.var_dump(
打開網(wǎng)頁,是一些代碼:
雖然不是很懂,于是直接去查題目,得到:var_dump() 函數(shù)用于輸出變量的相關(guān)信息。然后再去查$_REQUEST: 可以獲取以POST方法和GET方法提交的數(shù)據(jù),在參考眾多網(wǎng)站之后,得到在網(wǎng)址后加上index.php?hello=1);print_r(file("./flag.php"),訪問網(wǎng)址,即可得到flag.
參考文章
flag{your_php_is_very_good_my_bro}
2.Easy_Challenge
都說了是一道老題了,那就直接上鏈接吧:我是原題
Reverse
1.Simple_py
這是一道python逆向題,附件為一個.pyc文件,因此需要找到將.pyc文件還原為.py文件的方法。具體方法參考鏈接:python反編譯exe
這篇文章介紹的是把.exe文件先變成.pyc文件再還原成.py文件的方法,在這個題中我們只需要執(zhí)行.pyc還原.py就夠了。
其中,核心代碼只有中間一部分:
// 核心代碼 // for i in mess:x = ord(i) + 16x = x ^ 32s += chr(x)想要得到flag,我們就要將程序反過來寫,通過反向運行程序,獲得原來的flag,因此,改變核心代碼,得到:
// 修改后的代碼 // import base64 mess='VlxRV8KreGFCYU9ZwqNPwqDCqVNPQlVPdmFRV8Kt' s = '' mess = base64.b64decode(mess) for i in mess:x = i ^ 32x = x - 16s += chr(x) print(s)運行后得到:
flagò{H1R1_iòs_òpòyc_Re_F1agò}
將其中明顯不是密碼的ò去掉,得到最后的flag:
flag{H1R1_is_pyc_Re_F1ag}
2.Easy Reverse
下載附件,是一個.exe文件,因為不是python文件,因此我們不能用上一題一樣的方法去還原其代碼了。于是考慮其他的反編譯器,這里使用IDA進(jìn)行反編譯,得到C偽代碼
flag 第一個字母位“f” asII 碼為0x66 ,十進(jìn)制 102.也就是
x-(-125)=102,x=-23
于是編寫代碼:
下面展示一些 內(nèi)聯(lián)代碼片。
運行,生成flag:
flag{UPX_is_What?}
參考網(wǎng)站:一個簡單的ctf逆向
總結(jié)
- 上一篇: Android 蓝牙Hid开发
- 下一篇: iOS 如何在一个已经存在多个proje