一葉障目
just a rar
雞你太美
你猜我是個啥
藏藏藏
認真你就輸了
簽個到
difficult programming language
一葉障目
放到winhex中調一下高度
答案: xaflag{66666}
just a rar
下載下來題目,解壓壓縮包,4位數密碼爆破
密碼:2016
flag{Wadf_123}
雞你太美
第2個打籃球的gif,副本打不開,通過winhex打開后,發現缺少gif開頭
添加4個0字節符,輸入gif開頭格式:47 49 46 38
保存打開
flag如圖
你猜我是個啥
正常打開出現錯誤,嘗試用winhex打開
發現文件底部就有flag
提交即可
藏藏藏
解壓改后綴就ok了,這一類題多是這種套路
打開word,掃碼即可
認真你就輸了
解壓發現是個.xls文件,打開后,提示flag就在該表格下,找了一小會兒,也沒發現什么
我嘗試下了用txt打開,看到里面好多獨立的文件,改后綴zip,解壓
直接搜索flag,秒出答案
flag{M9eVfi2Pcs#}
簽個到
一直解壓完事了,到這里,改后綴名為.png 二維碼掃描即可
xaflag{i_am_a_tupian}
difficult programming language
題給了一個usb流量包,用tshark命令,將Leftover Capture Date域中的usb協議數據提取出來
tshark -r difficult_programming_language.pcap -T fields -e usb.capdata > usbdata.txt
說實話,這個題有點難,復現失敗了,不知道是怎么通過usb協議文檔可以查找到值和鍵位的關系
下面貼上MiGo出題人師傅的wp https://www.dazhuanlan.com/2020/01/30/5e326194b93d1
借着把后面的wp補充完整一下
提取出數據后我們通過usb協議文檔可以查找到值和鍵位的關系,編寫腳本后得到結果
D’`;M?!mZ4j8hgSvt2bN);^]+7jiE3Ve0A@Q=|;)sxwYXtsl2pongOe+LKa’e^]a`_X|V[Tx;:VONSRQJn1MFKJCBfFE>&<`@9!=<5Y9y7654-,P0/o-,%I)ih&%$#z@xw|{ts9wvXWm3~
聯系題目 difficult programming language
,可以搜索到這是一段malbolge
語言的代碼,找一個在線編譯網站跑一下即可得到flag.
hctf{m4lb0lGe}
附上MiGo師傅的腳本
#!/usr/bin/env python import sys import os normalkeys = { 0x04:"a", 0x05:"b", 0x06:"c", 0x07:"d", 0x08:"e", 0x09:"f", 0x0A:"g", 0x0B:"h", 0x0C:"i", 0x0D:"j", 0x0E:"k", 0x0F:"l", 0x10:"m", 0x11:"n",0x12:"o", 0x13:"p", 0x14:"q", 0x15:"r", 0x16:"s", 0x17:"t", 0x18:"u",0x19:"v", 0x1A:"w", 0x1B:"x", 0x1C:"y", 0x1D:"z",0x1E:"1", 0x1F:"2", 0x20:"3", 0x21:"4", 0x22:"5", 0x23:"6", 0x24:"7", 0x25:"8", 0x26:"9", 0x27:"0", 0x28:"n", 0x2a:"[DEL]", 0X2B:" ", 0x2C:" ", 0x2D:"-", 0x2E:"=", 0x2F:"[", 0x30:"]", 0x31:"\", 0x32:"`", 0x33:";", 0x34:"'",0x35:"`", 0x36:",", 0x37:"." , 0x38:"/"} shiftkeys = { 0x04:"A", 0x05:"B", 0x06:"C", 0x07:"D", 0x08:"E", 0x09:"F", 0x0A:"G", 0x0B:"H", 0x0C:"I", 0x0D:"J", 0x0E:"K", 0x0F:"L", 0x10:"M", 0x11:"N",0x12:"O", 0x13:"P", 0x14:"Q", 0x15:"R", 0x16:"S", 0x17:"T", 0x18:"U",0x19:"V", 0x1A:"W", 0x1B:"X", 0x1C:"Y", 0x1D:"Z", 0x1E:"!", 0x1F:"@", 0x20:"#", 0x21:"$", 0x22:"%", 0x23:"^", 0x24:"&", 0x25:"*", 0x26:"(", 0x27:")", 0x28:"n", 0x2a:"[DEL]", 0X2B:" ", 0x2C:" ", 0x2D:"_", 0x2E:"+", 0x2F:"{", 0x30:"}", 0x31:"|", 0x32:"~", 0x33:":", 0x34:""",0x35:"~", 0x36:"<", 0x37:">", 0x38:"?" } nums = [] shift_press = [] keys = open('usbdata.txt') for line in keys: shift_press.append(line[1]) nums.append(int(line[6:8],16)) keys.close() output = "" m = 0 for n in nums: if n == 0 : m += 1 continue if n in shiftkeys: if shift_press[m] == '2' : #shift is pressed output += shiftkeys[n] m += 1 elif shift_press[m] == '0' : output += normalkeys[n] m += 1 print 'output :n' + output
菜鳥的路,還很長,干就完了,