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