2022天权信安&catf1ag
ezrsa
题目
# from Crypto.Util.number import *
# from flag import flag
#
#
# def nextPrime(n):
# n += 2 if n & 1 else 1
# while not isPrime(n):
# n += 2
# return n
#
# p = getPrime(1024)
# q = nextPrime(p)
# n = p * q
# e = 0x10001
# d = inverse(e, (p-1) * (q-1))
# c = pow(bytes_to_long(flag.encode()), e, n)
#d= 12344766091434434733173074189627377553017680360356962089159282442350343171988536143126785315325155784049041041740294461592715296364871912847202681353107182427067350160760722505537695351060872358780516757652343767211907987297081728669843916949983336698385141593880433674937737932158161117039734886760063825649623992179585362400642056715249145349214196969590250787495038347519927017407204272334005860911299915001920451629055970214564924913446260348649062607855669069184216149660211811217616624622378241195643396616228441026080441013816066477785035557421235574948446455413760957154157952685181318232685147981777529010093
#c= 11665709552346194520404644475693304343544277312139717618599619856028953672850971126750357095315011211770308088484683204061365343120233905810281045824420833988717463919084545209896116273241788366262798828075566212041893949256528106615605492953529332060374278942243879658004499423676775019309335825331748319484916607746676069594715000075912334306124627379144493327297854542488373589404460931325101587726363963663368593838684601095345900109519178235587636259017532403848656471367893974805399463278536349688131608183835495334912159111202418065161491440462011639125641718883550113983387585871212805400726591849356527011578
#n= 13717871972706962868710917190864395318380380788726354755874864666298971471295805029284299459288616488109296891203921497014120460143184810218680538647923519587681857800257311678203773339140281665350877914208278709865995451845445601706352659259559793431372688075659019308448963678380545045143583181131530985665822655263963917413080872997526445384954610888776917323156325542921415838122754036103689148810677276471252057077595104724365967333418002158480223657363936976281758713027828747277980907153645847605403914070601944617432177385048803228970693240587900504431163155958465431312258451026447435473865563581029300541109
脚本
import gmpy2
import libnum
e = 0x10001
d= 12344766091434434733173074189627377553017680360356962089159282442350343171988536143126785315325155784049041041740294461592715296364871912847202681353107182427067350160760722505537695351060872358780516757652343767211907987297081728669843916949983336698385141593880433674937737932158161117039734886760063825649623992179585362400642056715249145349214196969590250787495038347519927017407204272334005860911299915001920451629055970214564924913446260348649062607855669069184216149660211811217616624622378241195643396616228441026080441013816066477785035557421235574948446455413760957154157952685181318232685147981777529010093
c= 11665709552346194520404644475693304343544277312139717618599619856028953672850971126750357095315011211770308088484683204061365343120233905810281045824420833988717463919084545209896116273241788366262798828075566212041893949256528106615605492953529332060374278942243879658004499423676775019309335825331748319484916607746676069594715000075912334306124627379144493327297854542488373589404460931325101587726363963663368593838684601095345900109519178235587636259017532403848656471367893974805399463278536349688131608183835495334912159111202418065161491440462011639125641718883550113983387585871212805400726591849356527011578
n= 13717871972706962868710917190864395318380380788726354755874864666298971471295805029284299459288616488109296891203921497014120460143184810218680538647923519587681857800257311678203773339140281665350877914208278709865995451845445601706352659259559793431372688075659019308448963678380545045143583181131530985665822655263963917413080872997526445384954610888776917323156325542921415838122754036103689148810677276471252057077595104724365967333418002158480223657363936976281758713027828747277980907153645847605403914070601944617432177385048803228970693240587900504431163155958465431312258451026447435473865563581029300541109
p = gmpy2.next_prime(gmpy2.iroot(n,2)[0])
q = n // p
# d1 = gmpy2
m = pow(c,d,n)
print(libnum.n2s(int(m)))
#flag{3895dfda-67b1-11ed-b784-b07b2568d266}
疑惑
题目
题目介绍:我好"疑惑"啊
keys1 = welcome_to_nine-ak_match_is_so_easy_!@!
keys2 = 20 4 24 5 94 12 2 36 26 6 49 11 68 15 14 114 12 10 43 14 9 43 10 27 31 31 22 45 10 48 58 4 18 10 38 31 14 97 92
脚本
keys1 = 'welcome_to_nine-ak_match_is_so_easy_!@!'
keys2 = '20 4 24 5 94 12 2 36 26 6 49 11 68 15 14 114 12 10 43 14 9 43 10 27 31 31 22 45 10 48 58 4 18 10 38 31 14 97 92'
keys2 = keys2.split(' ')
for i in range(39):
print(chr(ord(keys1[i])^int(keys2[i])),end='')
# catf1ag{nine-ak_match_is@very_easy_@/!}
passwd
题目
题目描述:
小cat是某公司的安全侦察人员,在2022年9月9日凌晨6点,
小cat抓取到了几条疑似a人员和b人员交流的包,
经过破译,大致意思是“在今年xx月xx日xx点xx分准时进行数据交易”,
但是唯独不能完全破解出来,于是他发到公司的网络安全群寻求帮助:
69d00d9bc39e01687abf84e98e27c889cf1442b53edba27d3235acbeb7b0ae95
(密文格式是:年份必须是4位数,月日时分必须是两位数,需要用0补齐,比如2022年01月01日01时01分)
脚本
c = '69d00d9bc39e01687abf84e98e27c889cf1442b53edba27d3235acbeb7b0ae95'
import hashlib
for i in range(1,13):
for j in range(1,32):
for k in range(25):
for m in range(61):
if len(str(i)) ==1:
i = '0'+str(i)
if len(str(j)) ==1:
j = '0'+str(j)
if len(str(k)) == 1:
k = '0'+str(k)
if len(str(m)) == 1:
m = '0'+str(m)
tmp = '2022'+str(i)+str(j)+str(k)+str(m)
# print(tmp)
md = hashlib.sha256()
md.update(tmp.encode('utf-8'))
if md.hexdigest() == c:
print(tmp)
#catf1ag{202211121750}
或者直接在CMD5利用会员解密