[鹤城杯 2021]easy_crypto
题目:
公正公正公正诚信文明公正民主公正法治法治诚信民主自由敬业公正友善公正平等平等法治民主平等平等和谐敬业自由诚信平等和谐平等公正法治法治平等平等爱国和谐公正平等敬业公正敬业自由敬业平等自由法治和谐平等文明自由诚信自由平等富强公正敬业平等民主公正诚信和谐公正文明公正爱国自由诚信自由平等文明公正诚信富强自由法治法治平等平等自由平等富强法治诚信和谐
解题:
社会主义价值观解码,+.+
flag{IlUqU9O5guX6YiITsRNPiQmbhNRjGuTP}
[强网拟态 2021]拟态签到题
题目:
ZmxhZ3tHYXFZN0t0RXRyVklYMVE1b1A1aUVCUkNZWEVBeThyVH0=
题解:
后面有等号,大概率base加密,按照密文的组成数字和字母范围大概是base64
大概啊都是大概,我基础不太行,(#^.^#)
flag{GaqY7KtEtrVIX1Q5oP5iEBRCYXEAy8rT}
[SWPUCTF 2021 新生赛]crypto8
题目:
73E-30U1&>V-H965S95]I<U]P;W=E<GT`
题解:
有< > = 等符号和数字还有字母组成,是Uuncode编码,嘎嘎嘎,还好我先去看了遍编码 *^-^*
NSSCTF{cheese_is_power}
[SWPUCTF 2021 新生赛]crypto7
题目:
69f7906323b4f7d1e4e972acf4abfbfc,得到的结果用NSSCTF{}包裹。
题解:
MD5加密,别问理由,不知道嘞!这不是有标签提示么。
NSSCTF{md5yyds}
[SWPUCTF 2021 新生赛]crypto6
题目:
var="************************************"
flag='NSSCTF{' + base64.b16encode(base64.b32encode(base64.b64encode(var.encode()))) + '}'
print(flag)
小明不小心泄露了源码,输出结果为:4A5A4C564B36434E4B5241544B5432454E4E32465552324E47424758534D44594C4657564336534D4B5241584F574C4B4B463245365643424F35485649534C584A5A56454B4D4B5049354E47593D3D3D,你能还原出var的正确结果吗?
题目:
审计代码,需要进行base64,base32,base16解密
需要解密的密文是:4A5A4C564B36434E4B5241544B5432454E4E32465552324E47424758534D44594C4657564336534D4B5241584F574C4B4B463245365643424F35485649534C584A5A56454B4D4B5049354E47593D3D3D
采用魔法棒一把梭,哎嘿
NSSCTF{5e110989-dc43-1bd3-00b4-9009206158fe}
[SWPUCTF 2021 新生赛]ez_caesar
题目:
import base64
def caesar(plaintext):
str_list = list(plaintext)
i = 0
while i < len(plaintext):
if not str_list[i].isalpha():
str_list[i] = str_list[i]
else:
a = "A" if str_list[i].isupper() else "a"
str_list[i] = chr((ord(str_list[i]) - ord(a) + 5) % 26 + ord(a) or 5)
i = i + 1
return ''.join(str_list)
flag = "*************************"
str = caesar(flag)
print(str)
#str="U1hYSFlLe2R0em1mYWpwc3RiaGZqeGZ3fQ=="
题解:
开头引用base64的库,密文两个等号
试试魔法棒
SXXHYK{dtzmfajpstbhfjxfw}
[SWPUCTF 2021 新生赛]pigpig
题目:
题解:
可爱的猪猪,下面的一看就是猪圈密码
照着表对,最近才开始用工具来着,以前都习惯去对表格(挠头.jpg)
NSSCTF{whenthepigwanttoeat}
[鹤城杯 2021]A_CRYPTO
题目:
4O595954494Q32515046324757595N534R52415653334357474R4N575955544R4O5N4Q46434S4O59474253464Q5N444R4Q51334557524O5N4S424944473542554O595N44534O324R49565746515532464O49345649564O464R4R494543504N35
题解:
rot13,base16,base32,base64,base85
到这边一切顺利,但是在Base85出现了问题
是的,它Base85不行了,然后我跑去找我师傅了,我师傅剥个瓜子(边啃边剥.jpg)
在师傅指导下,我解出来了。◍˃ᵕ˂◍
flag{W0w_y0u_c4n_rea11y_enc0d1ng!}
[SWPUCTF 2021 新生赛]ez_rsa
题目:
p = 1325465431
q = 152317153
e = 65537
计算出d,将d用MD5加密后包裹NSSCTF{}提交
解题:
啊哈哈哈哈,我爱直白的题目。˙Ⱉ˙ฅ
import gmpy2
import hashlib
p = 1325465431
q = 152317153
e = 65537
phi = (p-1) * (q-1)
d = gmpy2.invert(e, phi)
print(d)
#43476042047970113
k = hex(d).encode('utf-8')
print(k)
#b'0x9a753ada825b41'
flag = "flag{" + hashlib.md5(k).hexdigest() + "}"
print(flag)
#flag{3a249418d1fa200066dbebedf8b164d9}
[BJDCTF 2020]base??
题目:
dict:{0: 'J', 1: 'K', 2: 'L', 3: 'M', 4: 'N', 5: 'O', 6: 'x', 7: 'y', 8: 'U', 9: 'V', 10: 'z', 11: 'A', 12: 'B', 13: 'C', 14: 'D', 15: 'E', 16: 'F', 17: 'G', 18: 'H', 19: '7', 20: '8', 21: '9', 22: 'P', 23: 'Q', 24: 'I', 25: 'a', 26: 'b', 27: 'c', 28: 'd', 29: 'e', 30: 'f', 31: 'g', 32: 'h', 33: 'i', 34: 'j', 35: 'k', 36: 'l', 37: 'm', 38: 'W', 39: 'X', 40: 'Y', 41: 'Z', 42: '0', 43: '1', 44: '2', 45: '3', 46: '4', 47: '5', 48: '6', 49: 'R', 50: 'S', 51: 'T', 52: 'n', 53: 'o', 54: 'p', 55: 'q', 56: 'r', 57: 's', 58: 't', 59: 'u', 60: 'v', 61: 'w', 62: '+', 63: '/', 64: '='}
chipertext:
FlZNfnF6Qol6e9w17WwQQoGYBQCgIkGTa9w3IQKw
题解:
算是base吧。反正肯定不是我想的那个。给了dict,应该是把base的表换了,直接找代码么。
import base64
a = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/='
dict={0: 'J', 1: 'K', 2: 'L', 3: 'M', 4: 'N', 5: 'O', 6: 'x', 7: 'y', 8: 'U', 9: 'V', 10: 'z', 11: 'A', 12: 'B', 13: 'C', 14: 'D', 15: 'E', 16: 'F', 17: 'G', 18: 'H', 19: '7', 20: '8', 21: '9', 22: 'P', 23: 'Q', 24: 'I', 25: 'a', 26: 'b', 27: 'c', 28: 'd', 29: 'e', 30: 'f', 31: 'g', 32: 'h', 33: 'i', 34: 'j', 35: 'k', 36: 'l', 37: 'm', 38: 'W', 39: 'X', 40: 'Y', 41: 'Z', 42: '0', 43: '1', 44: '2', 45: '3', 46: '4', 47: '5', 48: '6', 49: 'R', 50: 'S', 51: 'T', 52: 'n', 53: 'o', 54: 'p', 55: 'q', 56: 'r', 57: 's', 58: 't', 59: 'u', 60: 'v', 61: 'w', 62: '+', 63: '/', 64: '='}
d=''
for i in range(65):
d+=dict[i]
b = 'FlZNfnF6Qol6e9w17WwQQoGYBQCgIkGTa9w3IQKw'
l=[]
for i in range(len(b)):
l.append(d.index(b[i]))
m=''
for ll in l:
m+=a[ll]
f=base64.b64decode(m)
print(f)
#b'BJD{D0_Y0u_kNoW_Th1s_b4se_map}'
[LitCTF 2023]梦想是红色的 (初级)
题目:
自由友善公正公正敬业法治自由自由和谐平等自由自由公正法治诚信民主诚信自由自由诚信民主爱国友善平等诚信富强友善爱国自由诚信民主敬业爱国诚信民主友善爱国平等爱国爱国敬业敬业友善爱国公正敬业爱国敬业和谐文明诚信文明友善爱国自由诚信民主爱国爱国诚信和谐友善爱国自由友善平等爱国友善平等友善自由诚信自由平等爱国爱国敬业敬业友善爱国敬业敬业友善自由友善平等诚信自由法治诚信和谐
题解:
嗯,标准的社会主义核心价值观
LitCTF{为之则易,不为则难}
[SWPUCTF 2021 新生赛]traditional
题目:
西方的二进制数学的发明者莱布尼茨,从中国的八卦图当中受到启发,演绎并推论出了数学矩阵,
最后创造的二进制数学。二进制数学的诞生为计算机的发明奠定了理论基础。而计算机现在改变
了我们整个世界,改变了我们生活,而他的源头却是来自于八卦图。现在,给你一组由八卦图方位
组成的密文,你能破解出其中的含义吗?
震坤艮 震艮震 坤巽坤 坤巽震 震巽兑 震艮震 震离艮 震离艮
格式:NSSCTF{}
解题:
不是我说,这个八卦阵有毒,它要倒着看。我是一个个对出来的,呜呜呜。(其实,有代码来着)
整为1半为0得出
001000100 001100001 000110000 000110001 001110011 001100001 001101100 001101100
9位二进制是不能转变的,你会发现每组的第一位是0,可以去掉,变成了8位二进制,进行ACSII码转换(二进制转十六进制)。
NSSCTF{Da01sall}
[LitCTF 2023]Hex?Hex!(初级)
题目:
4c69744354467b746169313131636f6f6c6c616161217d
题解:
题目提示很明显咧!੯‧̀͡u\
HEX!十六进制解码!(这我不用出解题过程吧੧ᐛ੭,我不会告诉你是我懒得截图的!)
LitCTF{tai111coollaaa!}
[SWPUCTF 2021 新生赛]crypto2
题目:
from gmpy2 import *
from Crypto.Util.number import *
flag = '***************'
p = getPrime(512)
q = getPrime(512)
m1 = bytes_to_long(bytes(flag.encode()))
n = p*q
e1 = getPrime(32)
e2 = getPrime(32)
print()
flag1 = pow(m1,e1,n)
flag2 = pow(m1,e2,n)
print('flag1= '+str(flag1))
print('flag2= '+str(flag2))
print('e1= ' +str(e1))
print('e2= '+str(e2))
print('n= '+str(n))
#flag1= 100156221476910922393504870369139942732039899485715044553913743347065883159136513788649486841774544271396690778274591792200052614669235485675534653358596366535073802301361391007325520975043321423979924560272762579823233787671688669418622502663507796640233829689484044539829008058686075845762979657345727814280
#flag2= 86203582128388484129915298832227259690596162850520078142152482846864345432564143608324463705492416009896246993950991615005717737886323630334871790740288140033046061512799892371429864110237909925611745163785768204802056985016447086450491884472899152778839120484475953828199840871689380584162839244393022471075
#e1= 3247473589
#e2= 3698409173
#n= 103606706829811720151309965777670519601112877713318435398103278099344725459597221064867089950867125892545997503531556048610968847926307322033117328614701432100084574953706259773711412853364463950703468142791390129671097834871371125741564434710151190962389213898270025272913761067078391308880995594218009110313
题解:
两个flag,两个e,一个n
共模攻击喽?
from Crypto.Util.number import *
from gmpy2 import gmpy2
flag1= 100156221476910922393504870369139942732039899485715044553913743347065883159136513788649486841774544271396690778274591792200052614669235485675534653358596366535073802301361391007325520975043321423979924560272762579823233787671688669418622502663507796640233829689484044539829008058686075845762979657345727814280
flag2= 86203582128388484129915298832227259690596162850520078142152482846864345432564143608324463705492416009896246993950991615005717737886323630334871790740288140033046061512799892371429864110237909925611745163785768204802056985016447086450491884472899152778839120484475953828199840871689380584162839244393022471075
e1= 3247473589
e2= 3698409173
n= 103606706829811720151309965777670519601112877713318435398103278099344725459597221064867089950867125892545997503531556048610968847926307322033117328614701432100084574953706259773711412853364463950703468142791390129671097834871371125741564434710151190962389213898270025272913761067078391308880995594218009110313
r,x,y = gmpy2.gcdext(e1, e2)
m = pow(flag1,x,n) * pow(flag2,y,n) % n
if gmpy2.gcd(e1,e2) ==1:
print(long_to_bytes(m))
else :
m = gmpy2.iroot(m,r)[0]
print(long_to_bytes(m))
#b'NSSCTF{xxxxx******xxxxx}'
你没看错,那个像是报错的flag真的是flag