Questionnaire
叮您有一份調查問卷請查收~ https://forms.gle/Vmzt99LazrtXsRLM9
這題要翻牆= =所以我瞟一下源碼好了 沒見過的f12題 拼成flag
null,null,null,null,[["1vV5T8FOS13NOQDji-xYIynLwsUMXcV8aatxUWP6ljvfz-w",null,[740,416,0]
]
]
]
,[603160739,"What is the name of the store?",null,0,[[539054317,null,0,null,[[4,302,["Haolinju|haolinju"]
,"8cd9"]
]
]
]
,null,null,null,null,[["1x4dT2M6J3EbaiVZ37ssMVunsnsB2UMCM6g4LCHyhlHJu-Q",null,[740,416,0]
]
]
]
,[488094967," What BRAND is this food?",null,0,[[1465781074,null,0,null,[[4,302,["Daoxiangcun|daoxiangcun"]
,"8f00b2"]
]
]
]
,null,null,null,null,[["1lH3bwgs28QoVKcUYhtzoqAcacmh4n4CHyWjGQen4RiE3Jw",null,[375,458,1]
]
]
]
,[1097246628,"Which RESTAURANT are the ducks coming from? ",null,0,[[353762320,null,0,null,[[4,302,["Jingweizhai|jingweizhai"]
,"04e9"]
]
]
]
,null,null,null,null,[["11ym4QgB0WEymoJXlmFy7FTC5Eyd5rV1adBbw6vWN5PmXvw",null,[740,555,0]
]
]
]
,[1916058196,"Which PARK is this?",null,0,[[901636349,null,0,null,[[4,302,["Jingshan|jingshan"]
,"8009"]
]
]
]
,null,null,null,null,[["16pfH3k5-5kDo-Rb9BxeKRvx0S-Qy4IgUdlX8iJ0AUOBIwQ",null,[740,554,0]
]
]
]
,[1044111735,"Which DISTRICT is the No.3 of Beijing?","The restaurant in question4 is in this Distric",0,[[1620980704,null,0,null,[[4,302,["Chaoyang|chaoyang"]
,"98ecf8"]
]
]
]
,null,null,null,null,[["1VbfGqSSHlM9D_HY1TsENa6rle3axBYbtKdyHS_klYDLG5g",null,[740,371,0]
]
]
]
,[1877231084,"Which part of the Great Wall is this?","In Huairou Distric",0,[[1337434564,null,0,null,[[4,302,["Hefangkou|hefangkou"]
,"427e"]
8cd98f00b204e9800998ecf8427e
babyweb
(寬字節隱寫)此處轉自某師傅的博客 然後F12發現
於是想到可能是寬字節隱寫,然後找到在線工具網站解密,得到zerowidthcharactersinvisible,解壓後得到一張倒序圖
a = open('f14g.png','rb').read()
f = a[::-1]
b = open('flag.png','wb').write(f)
以下兩題感謝蓋樂希 Galaxy的wp
NPU老千層餅
copy file1 file2
利用copy命令+binwalk -e
一頓操作猛如虎 獲得一張圖片和一個hint 吧
(主要是懶得找原始文件了) 當時就沒學LSB隱寫,也就卡在圖片上了 不知道圖片怎麼搞;也沒有發現標題要反過來讀,然後呆了
這是一通亂操作後拿到的文件和hint 看名字看名字!!!
ok文件標題顯然是個bv號
hint是一個二維碼 那大概就是圖片中要操作出一個二維碼來 其實觀察winhex 發現圖片裏還藏着txt
那個txt文件的標題。。我也是醉了,要倒着看,實際上暗示的是cyberchef_recipe
這是一個工具 (事實上正着寫我也很難意識到,但我可以面向百度啊!)
txt文件裏面是base64 我已經解碼
按照提示把不需要的移除:但是我當時想的是remove_this是不是坑啊。。。。難道他讓我remove我要remove嗎 ,難過。
{'option':'Hex','string':'this'},'CBC','Hex','Raw',{'option':'Hex','string':''})
Vigenère_Decode('keepthis')
From_Base64('A-Za-z0-9+/=',true)
DES_Decrypt({'option':'Hex','string':'av?'},{'option':'UTF8','string':'keepthis'},'CBC','Hex','Hex')
硬解也可以吧,但是本意是使用cyberchef的recipe模塊
這個工具吃下安利了,but還不太會用
這邊要把bv->av 並改選項
input裏面要填二維碼decode出來的一串base64
我個人認爲最難的一定是拿這個二維碼了,so放在最後
alpha0通道發現不明小黑點
其他通道都是全白的
至於該怎麼發現,根據LSB 這裏一定要好好看各個通道最後兩位的異常,其他就是做題要增加經驗了 往往信息藏在邊緣(詳見雙圖題)
腳本提取數據 (感謝FzWjScJ師傅提供的腳本)圖片方面的真不會寫,只能先偷摸一下了
from PIL import Image
p = Image.open('1.png')
a,b = p.size
i = ''
count = 0
for y in range(b):
for x in range(a):
data = p.getpixel((x,y))[3]
if data == 255:
i+='1'
else:
i+='0'
a = open('all.txt','w')
a.write(i)
a.close()
data = open('all.txt','r').read()
block1 = Image.new('L',(10,10),0)
block2 = Image.new('L',(10,10),255)
res = Image.new('L',(330,330),0)
for i in range(33):
for j in range(33):
if data[j+33*i] == '1':
res.paste(block1,(i*10,j*10))
else:
res.paste(block2, (i * 10, j * 10))
res.show()
接下來都是基操了
掃碼獲得GvgQE86nZKJdFzN2Z9x2Y3OnZyvnYNQEbG282GRtSL0=
這串扔進input就得到flag了
NPU碰上彩虹 吃定彩虹
主要是因爲涉及到了寬字節隱寫,因此與上面這題一起說(復現)
瓜大ctf之misc 這題纔是真的套娃啊啊(題目名怎麼都那麼鬼畜啊啊啊啊)
個人認爲這題比下面那題更加千層餅,只要其中一步不知道就拿不到flag了,所以這題我記得當時通過率巨低。。。有點要腦洞,但是可以學的東西還是很多的。有時候看wp發現每一步都知道,但是真做題了就卡殼在某步了…題目在第10層,而我還在第1層。