1. 程式人生 > >SYSUCSA reverse pwn Misc Crypto部分題解

SYSUCSA reverse pwn Misc Crypto部分題解

reverse

1.heythere

用IDA64 開啟檔案,按F5檢視main函式程式碼

在這裡插入圖片描述 發現flag應該為輸入字串的每一位字元與i的異或。 雙擊s,檢視原始的字串、 在這裡插入圖片描述 可以知道串中的每個字元都是用16進製表示的。 接下來可以用Python或者c++程式設計,將每一位異或,轉換為ASCII碼的形式輸出。

在這裡插入圖片描述 於是就得到flag啦~

2.sysucsa_0

用ida開啟檔案 進入hex view

在這裡插入圖片描述 看出flag為sysucsa{Try_4no7h3w_nor}

3.sysucsa

巧妙方法: 進入ida,按f5檢視虛擬碼 在這裡插入圖片描述 雙擊變數檢視變數的值。 在這裡插入圖片描述 進入hex view 發現flag的藏身處 在這裡插入圖片描述 從左到右,自上而下,分別將字元從0x00~0x0D編號。 根據變數值找到對應字元。 獲取flag:sysucsa{s1mp13_R3v_1}

Misc

1.Misc簽到題

開啟題目,發現除了一堆亂碼什麼都沒有。 V1hwT2MyVnRVbGhVYm5CYVYwaE9ORnBGV1RWak1 rMTRUMWh3VGxKcWJITldWRXBIVGxkYVVsQlVNRDA9 這堆程式碼貌似很像base64加密後的結果。於是用base64解密一次:WXpOc2VtUlhUbnBaV0hONFpFWTVjMk14T1hwTlJqbHNWVEpHTldaUlBUMD0= 發現還是亂碼,用這個再解密一次: YzNsemRXTnpZWHN4ZEY5c2MxOXpNRjlsVTJGNWZRPT0= 還是沒解出來,但是變短了,那就再試一次: c3lzdWNzYXsxdF9sc19zMF9lU2F5fQ== 又變短了,感覺就要成功了,再用base64解密一次! sysucsa{1t_ls_s0_eSay} 沒錯,這就是flag了~

2.More Png

開啟題目發現是一張不完整的png格式的圖片。。這可怎麼辦呢? 在這裡插入圖片描述 不著急,用010editor開啟這張圖片

在這裡插入圖片描述 發現這張圖高度有點不對勁,將00修改為01試試?

在這裡插入圖片描述 儲存後再開啟該圖片: 在這裡插入圖片描述 這麼大的flag就出現在了我們眼前!

3.Python是世界上最好的兩種語言?

檔案貌似不能用圖片檢視器開啟。 只能先用010編輯器開啟看看了。。

在這裡插入圖片描述 感覺有點不妙,PNG頭部貌似被修改了。 把PNG頭部改回來試試

在這裡插入圖片描述 然後儲存一下,圖片應該就可以打開了 在這裡插入圖片描述 打開發現是個二維碼,但是缺失了兩塊,用畫圖工具把右上角的圖案複製到缺失的兩個位置。 在這裡插入圖片描述 然後就可以掃一掃了 03F30D0A8EBA985B6300000000000000000100000040000000730D0000006400008400005A0000640100532802000000630000000003000000250000004300000073A5000000640100640200640100640300640400640100640500640600640700640800640900640A00640B00640C00640D00640E00640F00640D00641000640A00641100640D00641200641100640F00640900640D00640E00641300640C006414006415006413006414006411006416006417006725007D00006418007D0100781E007C0000445D16007D02007C01007400007C0200830100377D0100718200577C010047486400005328190000004E69530000006959000000695500000069430000006941000000697B00000069500000006935000000697400000069680000006930000000696E000000695F000000693100000069730000006932000000696500000069330000006961000000696700000069750000006921000000697D000000740000000028010000007403000000636872280300000074030000007374727404000000666C616774010000006928000000002800000000730500000070792E707952030000000100000073520000000002030103010301030103010301030103010301030103010301030103010301030103010301030103010301030103010301030103010301030103010301030103010301030103010301090206010D0114014E28010000005203000000280000000028000000002800000000730500000070792E707974080000003C6D6F64756C653E010000007300000000 竟然得到了這樣的一堆亂碼。。 儲存為txt格式,用010editor開啟。 在這裡插入圖片描述

64後的數字是i後面字母的編碼,從01到17. 破解出flag為SYSUCSA{P5thon_1s_2he_3est_1anguage!}}

pwn

1.cat flag 簽到題 進入kali linux 系統 開啟終端,輸入指令nc -v sysucsa.me 5054 輸入cat flag 得到flag:FLAG{cat flag? dog flag!}

crypto

1.f___

開啟txt格式檔案。發現又是一堆符號

在這裡插入圖片描述 應該是進行了JSFuck加密 百度JSFuck線上解密 獲取flag:sysu{CryPt0 15 AmazIN9!!!}

2.莫爾斯與凱撒的約會

-…-/-…/-…-/–…/…/-…-/…-./…/.—/…-./-…-/.—/.–/-./-…-/…/-/-/–.-/ 一看題目就知道是進行了凱撒加密,又轉成了摩爾斯電碼 先進行莫斯電碼解密:X D X Z H X F H J F X J W N X H T T Q 再進行凱撒解密: 在這裡插入圖片描述 6次解密後獲取flag!