前言:misc淺淺ak了一下,misc2一血misc3二血,最高沖上了第5,不過后來還是嘎嘎掉到第9,crypto和pwn一道沒出真的太菜了(
希望周末決賽能好好加油!
misc
misc1-好怪哦
拖到010觀察得到是逆置的zip壓縮包,簡(jiǎn)單寫個(gè)腳本倒一下
with open('fuck.zip','rb') as f:
hex_list = ("{:02X}".format(int(c)) for c in f.read()) # 定義變量接受文件內(nèi)容
buflist = list(hex_list) # 用列表保存信息,方便后續(xù)操作
list1=buflist[::-1]
flag=''
for i in list1:
flag+=i
print(flag)
解開后得到一個(gè)缺少文件頭的png,補(bǔ)上png文件頭
提示CRC校驗(yàn)錯(cuò)誤,修改寬高后得到flag
misc2-神奇的棋盤
打開得到一副adfgvx
加密棋盤
觀察txt數(shù)據(jù)只有1-5,猜測(cè)是數(shù)字字母坐標(biāo)轉(zhuǎn)換,用notepad批量操作一下
得到
AGAXXDAGGVGGVDVADAVXDGADVGDVAADDDDFXAFAFDGDVXXDGGDGGDXDDFDDXVGXADGVDFXVVAADDXDXXADDVGGGXGXXXXGXXGGXGDVVVGGGAGAAAAGAAGGAGDDDAGAGGGAGGAGAGAAAVAAAXGXGGGXGGXGXGXXXV
直接解adfgev
發(fā)現(xiàn)出不來
后發(fā)現(xiàn)棋盤存在lsb
隱寫
是base32
得到一串key:Yusayyds
這里卡了很久,因?yàn)閿嗑W(wǎng)沒有辦法找網(wǎng)站解帶key的adfgvx
但隊(duì)友很給力,在CaptfEncoder
里找到帶key的adfgvx
解密,直接解得到flag
misc3-segmentFlow
觀察壓縮包數(shù)據(jù),前7個(gè)小文件只有4字節(jié),嘗試使用crc
爆破文件內(nèi)容
import string
import binascii
def Crack_4B(crc_list):
print('-------------Start Crack CRC 4B-------------')
#crc_list = [0xc0a3a573, 0x3cb6ab1c, 0x85bb0ad4, 0xf4fde00b]#文件的CRC32值列表,注意順序
comment = ''
chars = string.printable
flag = 0
for crc_value in crc_list:
for char1 in chars:
for char2 in chars:
for char3 in chars:
for char4 in chars:
res_char = char1 + char2 + char3 + char4#獲取遍歷的任意4Byte字符
char_crc = binascii.crc32(res_char.encode())#獲取遍歷字符的CRC32值
calc_crc = char_crc & 0xffffffff#將遍歷的字符的CRC32值與0xffffffff進(jìn)行與運(yùn)算
if calc_crc == crc_value:#將獲取字符的CRC32值與每個(gè)文件的CRC32值進(jìn)行匹配
print('[+] {}: {}'.format(hex(crc_value),res_char))
comment += res_char
flag = 1
break
if flag == 1:
break
if flag == 1:
break
if flag == 1:
break
flag = 0
print('-----------CRC Crack Completed-----------')
print('Result: {}'.format(comment))
crc_list = [0xce70d424,0xc3f17511,0xf90c8a70,0xf8ab2771,0xc0ce8ee6,0xb2a6cde9,0x8637fa85,0x62f8f1a9]
Crack_4B(crc_list)
得到壓縮包密碼:gZinflAte_BasE64
解開后觀察流量包數(shù)據(jù),發(fā)現(xiàn)有大量的base64字段,再根據(jù)壓縮包密碼猜測(cè)肯定是有用的,直接tshark拉出來全部數(shù)據(jù)
tshark -r segmentFlow.pcapng -T fields -e urlencoded-form.value | sed '/^\s*$/d' > 1.txt
發(fā)現(xiàn)數(shù)據(jù)之間用逗號(hào)隔開,將其全部替換為換行
發(fā)現(xiàn)大量的散落的zip數(shù)據(jù),手動(dòng)全部提取出來,解開得到flag
web
web1
真·簽到題,呆瓜了一直沒搞出來,結(jié)束前一分鐘搞出來了,來不及補(bǔ)wp了(
后來想復(fù)現(xiàn)平臺(tái)關(guān)了,所以沒法貼圖,簡(jiǎn)單描述一下吧
御劍掃出robots,一路跟進(jìn)進(jìn)去,最后一個(gè)頁面f12獲得hint,根據(jù)描述直接get傳參即可
web2-nisc_學(xué)校門戶網(wǎng)站
瀏覽題目,看到默認(rèn)密碼的規(guī)則
發(fā)現(xiàn)有注冊(cè)界面,嘗試注冊(cè),輸入默認(rèn)密碼作為自己的密碼
注冊(cè)成功后登錄網(wǎng)站,直接獲得flag
web3-吃豆人
查看題目,是一個(gè)網(wǎng)頁小游戲,用開發(fā)者工具打開查看js實(shí)例。
看到連接index.js
,點(diǎn)擊進(jìn)入分析
index.js最后看到一串base64的字符,嘗試解密,獲得flag。
DASCTF{f235b02382a223fda4ce2ec62148d94c}
re
re1-ManyCheck
首先嘗試脫殼,發(fā)現(xiàn)沒有殼
運(yùn)行程序,查看程序功能和顯示的字符串
使用ida反編譯查找對(duì)應(yīng)字符串
跳轉(zhuǎn)到對(duì)應(yīng)的位置,查看程序邏輯
發(fā)現(xiàn)需要讓第一個(gè)輸入的字符等于77,然后再算出后面兩個(gè)算術(shù)題。
成功進(jìn)入第三關(guān),程序是右移,我們需要左移獲得flag
d = 1718896489
bin_d = '0'+str(bin(d)[2:])
temp = bin_d[16:]+bin_d[:16]
print(int(temp,2))
#1198089844
輸入答案獲得flag
DASCTF{M71_Gift_08L}文章來源:http://www.zghlxwxcb.cn/news/detail-728908.html
個(gè)人拙見,各位師傅如果有好的解法可以交流一下
有需要題目備份的可以dd文章來源地址http://www.zghlxwxcb.cn/news/detail-728908.html
到了這里,關(guān)于2022浙江省大學(xué)生信息安全競(jìng)賽技能賽初賽Writeup的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!