Skip to main content

Misc

速通思路

1、magic自动化解析出可处理字符

2、brute爆破所有常见加密

做题思路

45 46 45 46 32 45 32 46 46 45 46 32 46 45 46 46 32 46 46 46 32 45 46 46 46 32 46 46 45 45 46 45 32 45 46 46 46 32 46 46 46 32 46 45 46 46 32
#特征提取
32 45 46 “ ”
#培根加密、莫斯密码

checkin

109 115 104 110 123 108 53 55 105 57 108 49 56 105 48 56 105 109 109 48 107 48 53 104 51 106 53 57 57 48 48 105 49 48 63 63 63 125 116 107 53 58 55 52 50 108 104 56 49 53 50 109 109 49 49 105 49 109 54 109 57 51 49 52 106 51 106 52 108 109 109 57 51 108
#和flag相关并且一一对应
flag{}
mshn{l57i9l18i08imm0k05h3j59900i10???}tk5:742lh8152mm11i1m6m9314j3j4lmm93l
#加密仅针对字母(数字),不针对字符
#f m l s
flag{e57b9e18b08bff0d05a3c59900b10???}md5:742ea8152ff11b1f6f9314c3c4eff93e

exp:

import itertools
import hashlib

secret = "flag{e57b9e18b08bff0d05a3c59900b10"
md5_result = "742ea8152ff11b1f6f9314c3c4eff93e"
ct = "0123456789abcdefghijklmnopqrstuvwxyz"

for i in itertools.product(ct, repeat=3):
key = secret + "".join(i) + "}"
result = hashlib.md5(key.encode()).hexdigest()
if result == md5_result:
print(key)

md5crack

已知手机号1709,只需爆破七位,判断是否与给出的sha256相等

noteonlybase

MCJIJSGKP=ZZYXZXRMU=W3YZG3ZZ==G3HQHCUS==
#绝对有base加密但是不知道64还是别的
#字符集全是大写,大概率为base32
#不可以直接解密,顺序被打乱
#固定长度的分组变换,只有栅栏
#目的是把他变成可解得base32从而获取flag
xxxx======
MZWGCZ33J

bf

vol2 -f baby_forensics.raw --profile=Win7SP1x64 filescan |grep -E "txt"
vol2 -f baby_forensics.raw --profile=Win7SP1x64 dumpfiles -Q 0x000000003df80070 -D ./

dns

tshark -r DNS_Query.pcapng -T fields -e dns.qry.name -Y "ip.src_host == 8.8.8.8"
from PIL import Image
from zlib import *
from pyzbar.pyzbar import decode

MAX = 29 # 数字的长度为一个整数的平方(如36^2=1296)
pic = Image.new("RGB",(MAX,MAX))
str = "1111111010011110010010111111110000010011001100001101000001101110100010111100111010111011011101000001100011010101110110111010010100100011001011101100000100010110001001010000011111111010101010101010111111100000000101101101001000000000110110100111000101011010000011101110111001001101110011110001100111001101110110110011000101010010111101111001100110111111001111011011001101110001110001101010001010000101111001011010111111111100011001001011100110111110011101001111010110001110100001111001110001001111000001111101111110101100001101101110010111011101111000111011101101011100000000000101111100110000101001011111111010000000010100101101110001010011111110001010010101101011100100000100100001001001000100001011101011100111001111111001010111010111010110111100101001101110100100001100010000100111000001010101111100101111110111111110110110010000100010000"
i=0
for y in range(0,MAX):
for x in range(0,MAX):
if(str[i] == '1'):
pic.putpixel([x,y],(0,0,0))
else:pic.putpixel([x,y],(255,255,255))
i = i+1
pic.show()
pic.save("flag.png")
print(decode(pic))

做题工具

cyberchef-Magic 自动识别并解密编码