[UTCTF2020]File Carving
010editor開啟發現了一個壓縮包
解壓出來一個ELF檔案
我們拖到虛擬機器去執行一下吧
得到flag
flag{2fbe9adc2ad89c71da48cabe90a121c0}
二維碼
參考:
BUUCTF:二維碼 - B0mbax - 部落格園 (cnblogs.com)
ps修復一下,我也不會,用的大佬的
flag{7bf116c8ec2545708781fd4a0dda44e5}
[watevrCTF 2019]Evil Cuteness
010editor開啟,文章末尾有壓縮包
binwalk提取,解壓一下就得到flag
派大星的煩惱
參考:
BUUCTF 派大星的煩惱 - Harmonica11 - 部落格園 (cnblogs.com)
BUUCTF:派大星的煩惱-CSDN部落格
010editor開啟這圖片,發現一大串"
以及D
接下來編寫指令碼給他們轉成二進位制,剛好256個,256/8=32
import os
file = r'E:/Download'
os.chdir(file)
w=open('3.txt','w')
with open('1.txt') as f:
for i in f.read():
x = ''
if i=='\"':
x='0'
elif i=='D':
x='1'
w.write(x)
w.close()
0110110000101100000011000110110010011100101011000000110010000110101011000010110010001100000111000010110001000110001001101010110001100110101001100110110001000110011011001010011010101100010001100010110011000110101001100010110011001100000111001100110001001100
然後二進位制轉一下字元
失敗了,一堆稀奇古怪的字元
然後這裡推測應該是每八位二進位制逆序了,所以我們需要反逆回來
import os
file = r'E:/Download'
os.chdir(file)
result=[]
flag=''
with open('3.txt') as f:
s=f.read()
for i in range(0,len(s),8):
str =s[i:i+8]
str=str[::-1]
result.append(str)
flag=''.join(result)
print(flag)
0011011000110100001100000011011000111001001101010011000001100001001101010011010000110001001110000011010001100010011001000011010101100110011001010011011001100010001101100110010100110101011000100011010001100011011001010011010000110011001110000011001100110010
最後得到flag
flag{6406950a54184bd5fe6b6e5b4ce43832}
[QCTF2018]X-man-A face
開啟是一個空缺的二維碼圖片,搜尋瞭解得知缺少了定位角
我們ps給他補全
然後掃描一下
KFBVIRT3KBZGK5DUPFPVG2LTORSXEX2XNBXV6QTVPFZV6TLFL5GG6YTTORSXE7I=
隨波逐流解密一下,base32 解密
[INSHack2017]sanity
開啟就有flag
key不在這裡
參考:
buuctf MISC - key不在這裡_buuctf key不在這裡-CSDN部落格
開啟就是一個二維碼
得到一個網址
訪問了一下,是直接搜wp的,哈哈哈哈哈哈哈
然後發現這一串可疑的字元
10210897103375566531005253102975053545155505050521025256555254995410298561015151985150375568
然後可能是轉ascii碼,用一下師傅的指令碼吧
def extract_numbers(input_string):
# 初始化指標
pointer = 0
result = []
while pointer < len(input_string):
# 如果開頭是1,向後取3位
if input_string[pointer] == '1':
extracted_number = input_string[pointer:pointer + 3]
pointer += 3
else:
# 否則向後取2位
extracted_number = input_string[pointer:pointer + 2]
pointer += 2
# 將提取的數字新增到結果列表中
result.append(int(extracted_number))
return result
input_string = '10210897103375566531005253102975053545155505050521025256555254995410298561015151985150375568'
numbers = extract_numbers(input_string)
flag = ''
for i in numbers:
flag += chr(i)
flag = flag.replace('%7B', '{')
flag = flag.replace('%7D', '}')
print(flag)
[MRCTF2020]不眠之夜
參考:
[BUUCTF:MRCTF2020]不眠之夜_buuctf 不眠之夜-CSDN部落格
拼圖,一共120張,應該就是10*12,也就是2000*1200
我們先拼接起來,我用的是imagemagic
magick.exe montage ./1/*.jpg -tile 10x12 -geometry +0+0 flag.jpg
得到一個拼接好的圖
然後使用gaps拼接
gaps run ./flag.jpg new.jpg --generations=120 --population=120 --size=100
flag{Why_4re_U_5o_ShuL1an??}
粽子的來歷
參考:BUUCTF:粽子的來歷 - B0mbax - 部落格園 (cnblogs.com)
是四個word,但是都破損了,打不開
010editor開啟這些檔案,發現
把他們都改成FF,也就是ÿ
修復好開啟是這個,然後注意到他的行之間的間距不一樣
然後就把大間距當成1,小間距成0(反正我覺得不太好看出來的,我太笨了)
100100100001
然後題目提示了32位,拿去md5加密
hashcat
得到一張無字尾的圖片,我們丟入偉大的B神開發的PuzzleSolver免費版
那我們就改成ppt(經測試doc是不行的)
改完之後,他要我密碼
這邊我是用hashcat(感謝好群友的幫忙)
hashcat.exe -m 9500 hash.txt -a 3 ?d?d?d?d -o out.txt --show
得到密碼就是9919
開啟檔案,倒數第二張ppt選中,標紅