第一題
0x00 第一張圖片修復(fù)圖片高度
剛開始打開..就露出了某個大佬的頭發(fā),一看就是高度需要修復(fù)
-
高度120轉(zhuǎn)為16進制為78,搜索前面的78改為c8即可,拿到flag前半部分
(表情過于xx,打個馬賽克)
0x01 第二張圖片base32
2.jpg view hex 拉到最后,一段看上去就像base編碼,但是base64解不出,需要使用base32
拼起來提交即可
第二題-我可以問問出題人在哪嗎??
0x00 第一層-價值觀加密
查看 我和我的祖國.jpg的exif詳細信息,拿到拿到一段價值觀,拿去百度加密即可得到密碼
0x01 第二層-word文檔本質(zhì)
打開word文檔,提示密碼在core.xml中,打開core.xml
拿到password
0x02 html圖片格式
打開發(fā)現(xiàn)一段data:image/jpeg;base64開頭的字符串,應(yīng)該是html的base64的資源格式
新建一個文件 img.html
<img src="塞進去"/>
然后打開文件即可
0x02 第三層-爆破
打開之后tips提示爆破,拉到Ziperello里,選擇小寫(hint提示是小寫)可以跑出密碼為giveup
0x03 第四層-base64隱寫
大概百度了一下,找到了個base64隱寫的文章,里面給了個解隱寫的腳本(這個腳本只能在python2下運行),
拿來用就可以拿到密碼
def get_base64_diff_value(s1, s2):
base64chars = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/'
res = 0
for i in xrange(len(s2)):
if s1[i] != s2[i]:
return abs(base64chars.index(s1[i]) - base64chars.index(s2[i]))
return res
def solve_stego():
with open('2.txt', 'rb') as f:
file_lines = f.readlines()
bin_str = ''
for line in file_lines:
steg_line = line.replace('\n', '')
norm_line = line.replace('\n', '').decode('base64').encode('base64').replace('\n', '')
diff = get_base64_diff_value(steg_line, norm_line)
pads_num = steg_line.count('=')
if diff:
bin_str += bin(diff)[2:].zfill(pads_num * 2)
else:
bin_str += '0' * pads_num * 2
res_str = ''
for i in xrange(0, len(bin_str), 8):
res_str += chr(int(bin_str[i:i+8], 2))
print res_str
solve_stego()
0x04 第五層-圖窮匕見
..這個名字好像在哪聽過,是不是和bugku上某道題一樣,
https://www.cnblogs.com/WangAoBo/p/6950547.html#3913508