從娃娃抓起
第一句話是中文電碼中文電碼查詢 - 中文電碼轉換 - 中文電碼對照表 (bmcx.com)
第二句話是五筆編碼漢字五筆編碼批次查詢:86版五筆編碼、98版五筆編碼、18030版五筆編碼;五筆編碼反查漢字 - 千千秀字 (qqxiuzi.cn)
人工智慧也要從娃娃抓起
flag{3b4b5dccd2c008fe7e2664bd1bc19292}
zip
解壓後很多壓縮包,但是裡面壓縮包加密的data.txt都比較小,都為4位元組,所以我們嘗試
crc32爆破
採用師傅的指令碼
import zipfile
import string
import binascii
import os
filepath=r'D:/EdgeDownload/b2ca8799-13d7-45df-a707-94373bf2800c'
os.chdir(filepath)
def CrackCrc(crc):
for i in dic:
for j in dic:
for k in dic:
for h in dic:
s = i + j + k + h
if crc == (binascii.crc32(s.encode())):
f.write(s)
return
def CrackZip():
for i in range(0,68):
file = 'out'+str(i)+'.zip'
crc = zipfile.ZipFile(file,'r').getinfo('data.txt').CRC
CrackCrc(crc)
print('\r'+"loading:{:%}".format(float((i+1)/68)),end='')
dic = string.ascii_letters + string.digits + '+/='
f = open('out.txt','w')
print("\nCRC32begin")
CrackZip()
print("CRC32finished")
f.close()
得到
base64解密
發現是rar檔案格式
RAR檔案格式學習(瞭解)_rar檔案頭-CSDN部落格
我們在前面補上檔案頭,恢復之後在註釋找到flag
52 61 72 21 1A 07 00
[GUET-CTF2019]zips
沒有啥線索,爆破一下
然後又是一個加密壓縮包,是偽加密
這裡可以看到密碼是時間戳
然後掩碼攻擊
得到flag
UTCTF2020]file header
這道題提示了檔案頭,加上就行
flag{3lit3_h4ck3r}
[XMAN2018排位賽]通行證
base64解密,直接提交不對
然後裡面有{},有可能是柵欄,然後key=5有點像但不是,後面搜了說是加密key=7
然後就是凱撒密碼,key=13
flag{oyay_now_you_get_it}
[WUSTCTF2020]girlfriend
有個音訊檔案,就是莫斯密碼
--- . ... . .. . . . ... . .. . . . .-- . - . ... . ... . ..- . ... . ... . ... . .. . .. . . . ....
解密出來
然後發現猜錯了
不是莫斯,是撥號聲音,按鍵,這次也是學到了
999*666*88*2*777*33*6*999*4*4444*777*555*333*777*444*33*66*3*7777
然後手機調成拼音9鍵,去打
flag{youaremygirlfriends}
[DDCTF2018](╯°□°)╯︵ ┻━┻
參考:
[BUUCTF:[DDCTF2018](╯°□°)╯︵ ┻━┻_ddctf2018╯︵ ┻━┻-CSDN部落格](https://blog.csdn.net/mochu7777777/article/details/105324802)
看了題解,就是字串擷取兩位16進位制->轉10進位制->都減去128為ASCII碼->轉字元
太菜了,我真看不出來,看一下大佬的題解指令碼吧
# -*- coding:utf-8 -*-
# author: mochu7
def hex_str(str):#對字串進行切片操作,每兩位擷取
hex_str_list=[]
for i in range(0,len(str)-1,2):
hex_str=str[i:i+2]
hex_str_list.append(hex_str)
print("hex列表:%s\n"%hex_str_list)
hex_to_str(hex_str_list)
def hex_to_str(hex_str_list):
int_list=[]
dec_list=[]
flag=''
for i in range(0,len(hex_str_list)):#把16進位制轉化為10進位制
int_str=int('0x%s'%hex_str_list[i],16)
int_list.append(int_str)
dec_list.append(int_str-128)#-128得到正確的ascii碼
for i in range(0,len(dec_list)):#ascii碼轉化為字串
flag += chr(dec_list[i])
print("轉化為十進位制int列表:%s\n"%int_list)
print("-128得到ASCII十進位制dec列表:%s\n"%dec_list)
print('最終答案:%s'%flag)
if __name__=='__main__':
str='d4e8e1f4a0f7e1f3a0e6e1f3f4a1a0d4e8e5a0e6ece1e7a0e9f3baa0c4c4c3d4c6fbb9b2b2e1e2b9b9b7b4e1b4b7e3e4b3b2b2e3e6b4b3e2b5b0b6b1b0e6e1e5e1b5fd'
print("字串長度:%s"%len(str))
hex_str(str)
[MRCTF2020]千層套路
參考:
[BUUCTF:MRCTF2020]千層套路-CSDN部落格
第一個加密壓縮包,暴力破解
這邊解了好多,發現都是和檔名一樣,開始指令碼
import os
import zipfile
filepath=r'D:/EdgeDownload/ff'
os.chdir(filepath)
name = '0573'
while True:
fz = zipfile.ZipFile(name + '.zip', 'r')
fz.extractall(pwd=bytes(name, 'utf-8'))
name = fz.filelist[0].filename[0:4]
fz.close()
得到一個qr.txt
這個是rgb,我們開始指令碼繪圖
from PIL import Image
import os
filepath=r'D:/EdgeDownload/ff/qr'
os.chdir(filepath)
x = y = 200
img = Image.new('RGB',(x,y))
file = open('qr.txt','r')
for width in range(0,x):
for height in range(0,y):
line=file.readline()
line=line.strip()
line=line.replace('(','')
line=line.replace(')','')
rgb = line.split(',')
img.putpixel((width,height),(int(rgb[0]),int(rgb[1]),int(rgb[2])))
print('繪製完畢')
file.close()
img.save('flag.jpg')
得到一個二維碼,掃一下
得到flag
百裡挑一
因為是一個流量包,我們需要給圖弄出來,所以匯出http格式,好多圖
然後exiftool分析一下,得到一半flag
剩下一半,在tcp流114中
最後拼一下
flag{ae58d0408e26e8f26a3c0589d23edeec}
[SUCTF2018]followme
我直接全部匯出了http的物件
然後搜尋字串,找到flag
flag{password_is_not_weak}