rot
给出的一串ascii码,结合rot,每一个减去13打印出来发现有一个部分未知的flag以及一个MD5值,推测应该是爆破四位然后比较MD5,爆破得到flag
a = [83, 89, 78, 84, 45, 86, 96, 45, 115, 121, 110, 116, 136, 132, 132, 132, 108, 128, 117, 118, 134, 110, 123, 111,
110, 127, 108, 112, 124, 122, 108, 118, 128, 108, 131, 114, 127, 134, 108, 116, 124, 124, 113, 108, 76, 76, 76, 76,
138, 23, 90, 81, 66, 71, 64, 69, 114, 65, 112, 64, 66, 63, 69, 61, 70, 114, 62, 66, 61, 62, 69, 67, 70, 63, 61,
110, 110, 112, 64, 68, 62, 70, 61, 112, 111, 112]
b = []
for i in a:
i = i - 13
b.append(i)
for j in b:
print(chr(j), end='')
print('')
flag = "flag{www_shiyanbar_com_is_very_good_????}"
hash_value = "38e4c352809e150186920aac37190cbc"
import itertools
import string
import hashlib
import tqdm
# print(''.join(string.printable))
for xxxx in tqdm.tqdm(itertools.product(string.printable, repeat=4)):
flag1 = flag.replace("????", ''.join(xxxx))
#print(flag1)
hash_value__ = hashlib.md5(flag1.encode()).hexdigest()
if hash_value__ == hash_value:
print(flag1)
break
flag{www_shiyanbar_com_is_very_good_@8Mu}
这是什么
题目提示乱命名文件,重命名为txt发现一段jsfuck,直接控制台执行弹出flag
flag{a0448fd730b62c13ca80200c4529daa2}
[MRCTF2020]古典密码知多少
蓝色:猪圈密码
橙色:圣堂武士密码
黑色:银河密码
得到字符串:FGCPFLIRTUASYON
解密得到flag:FLAGISCRYPTOFUN
[NCTF2019]childRSA
p、q都是由sieve_base中的素数相乘后+1产生的
又根据费马小定理
2
p
−
1
≡
1
(
m
o
d
p
)
2^{p-1}\equiv1(mod p)
2p−1≡1(modp),因此
g
c
d
(
2
m
,
n
)
=
p
gcd(2^m,n)=p
gcd(2m,n)=p
这仅仅建立在p-1中的因子不重复的情况下,这题刚好
最后得到flag
NCTF{Th3r3_ar3_1ns3cure_RSA_m0duli_7hat_at_f1rst_gl4nce_appe4r_t0_be_s3cur3}