看我回旋踢

rot13
import codecs
x = "synt{5pq1004q-86n5-46q8-o720-oro5on0417r1}"
ans = codecs.decode(x, "rot_13")
print(ans)
flag{5cd1004d-86a5-46d8-b720-beb5ba0417e1}
Url编码

from urllib.parse import unquote
x = "%66%6c%61%67%7b%61%6e%64%20%31%3d%31%7d"
flag = unquote(x)
print(flag)
flag{and 1=1}
变异凯撒

经典凯撒加密:把每个字母在字母表中往后(或往前)移动固定的位数;只移字母,其它不变。
告知了密文的前四位解密是flag,那就可以通过对比密文和已知字符的ascii码来查找规律
a:97 f:102 Z:90 _:95
f:102 l:108 a:97 g:103
第一位的a和f相差5、第二位的f和l相差6、第三位的Z和a相差7、第四位的_和g相差8
依照此规律进行解密:
x = "afZ_r9VYfScOeO_UL^RWUc"
num = 5
flag = ""
for i in x:
i = chr(ord(i)+num)
flag += i
num += 1
print(flag)
flag{Caesar_variation}
MD5


flag{admin1}
Quoted-printable

import quopri
x = "=E9=82=A3=E4=BD=A0=E4=B9=9F=E5=BE=88=E6=A3=92=E5=93=A6"
flag = quopri.decodestring(x).decode()
print(flag)
flag{那你也很棒哦}
摩丝

摩斯解密
flag{ILOVEYOU}
password

盲猜:姓名缩写+生日
flag{zs19900315}
传感器

结合提示以及一串只由569A构成的十六进制字符串可得:曼彻斯特编码

flag{FFFFFED31F645055F9}
一眼就解密

base64解密:ZmxhZ3tUSEVfRkxBR19PRl9USElTX1NUUklOR30=
flag{THE_FLAG_OF_THIS_STRING}
丢失的MD5

python2的,稍微改一下就能用3运行
import hashlib
for i in range(32,127):
for j in range(32,127):
for k in range(32,127):
m=hashlib.md5()
m.update(('TASC'+chr(i)+'O3RJMV'+chr(j)+'WDJKX'+chr(k)+'ZM').encode("utf-8"))
des=m.hexdigest()
if 'e9032' in des and 'da' in des and '911513' in des:
print(des)
flag{e9032994dabac08080091151380478a2}
RSA

import libnum
p=473398607161
q=4511491
e=17
d = libnum.invmod(e, (p-1) * (q-1))
print(d)
flag{125631357777427553}
rsarsa

import libnum
from Crypto.Util.number import long_to_bytes
p = 9648423029010515676590551740010426534945737639235739800643989352039852507298491399561035009163427050370107570733633350911691280297777160200625281665378483
q = 11874843837980297032092405848653656852760910154543380907650040190704283358909208578251063047732443992230647903887510065547947313543299303261986053486569407
e = 65537
c = 83208298995174604174773590298203639360540024871256126892889661345742403314929861939100492666605647316646576486526217457006376842280869728581726746401583705899941768214138742259689334840735633553053887641847651173776251820293087212885670180367406807406765923638973161375817392737747832762751690104423869019034
n = p * q
d = libnum.invmod(e, (p-1) * (q-1))
m = pow(c, d, n)
print(m)
flag{5577446633554466577768879988}
大帝的密码武器

结合标题和题目可知密文为凯撒加密,只是不知道偏移量
x = "FRPHEVGL"
for i in range(1,26):
tmp = ""
for o in x:
tmp += chr((ord(o) - ord("A") - i) % 26 + ord("A"))
print(f"{i}:{tmp}")
偏移量13的SECURITY是有意义的单词译为安全;那同样的,下面的密文偏移量也是13
x = "ComeChina"
tmp = ""
for o in x:
if o.isupper():
tmp += chr((ord(o) - ord("A") - 13) % 26 + ord("A"))
elif o.islower():
tmp += chr((ord(o) - ord("a") - 13) % 26 + ord("a"))
print(tmp)
flag{PbzrPuvan}
Unencode

UUencode编码
flag{dsdasdsa99877LLLKK}
传统知识+古典密码

六十甲子顺序表

辛卯,癸巳,丙戌,辛未,庚辰,癸酉,己卯,癸巳。
28 30 23 08 17 10 16 40
+甲子:每个数字都加上60 --> 88 90 83 68 77 70 76 90将其进行十进制转字符:XZSDMFLZ
古典密码包括:栅栏、凯撒......
先进行栅栏解密

将分栏2中的XMZFSLDZ接着凯撒解密

#5为答案
flag{SHUANGYU}
robomunication

播放mp3只有两种声音(bi、bo),猜测摩斯密码:.... . .-.. .-.. --- .-- .... .- - .. ... - .... . -.- . -.-- .. - .. ... -... --- --- .--. -... . . .--.
解密得:HELLOWHATISTHEKEYITISBOOPBEEP
flag{BOOPBEEP}
Windows系统密码

解密ctf后面的那段md5值:a7fcb22a88038f35a8f39d503e7f0062 md5在线解密破解,md5解密加密

flag{good-luck}
Rabbit


flag{Cute_Rabbit}
RSA3

共模攻击
import gmpy2
from Crypto.Util.number import long_to_bytes
c1=22322035275663237041646893770451933509324701913484303338076210603542612758956262869640822486470121149424485571361007421293675516338822195280313794991136048140918842471219840263536338886250492682739436410013436651161720725855484866690084788721349555662019879081501113222996123305533009325964377798892703161521852805956811219563883312896330156298621674684353919547558127920925706842808914762199011054955816534977675267395009575347820387073483928425066536361482774892370969520740304287456555508933372782327506569010772537497541764311429052216291198932092617792645253901478910801592878203564861118912045464959832566051361
n=22708078815885011462462049064339185898712439277226831073457888403129378547350292420267016551819052430779004755846649044001024141485283286483130702616057274698473611149508798869706347501931583117632710700787228016480127677393649929530416598686027354216422565934459015161927613607902831542857977859612596282353679327773303727004407262197231586324599181983572622404590354084541788062262164510140605868122410388090174420147752408554129789760902300898046273909007852818474030770699647647363015102118956737673941354217692696044969695308506436573142565573487583507037356944848039864382339216266670673567488871508925311154801
e1=11187289
c2=18702010045187015556548691642394982835669262147230212731309938675226458555210425972429418449273410535387985931036711854265623905066805665751803269106880746769003478900791099590239513925449748814075904017471585572848473556490565450062664706449128415834787961947266259789785962922238701134079720414228414066193071495304612341052987455615930023536823801499269773357186087452747500840640419365011554421183037505653461286732740983702740822671148045619497667184586123657285604061875653909567822328914065337797733444640351518775487649819978262363617265797982843179630888729407238496650987720428708217115257989007867331698397
e2=9647291
s = gmpy2.gcdext(e1,e2)
m = (pow(c1,s[1],n) * pow(c2,s[2],n)) % n
result = long_to_bytes(m).decode()
print(result)
flag{49d91077a1abcb14f1a9d546c80be9ef}
篱笆墙的影子

栅栏解密

flag{wethinkwehavetheflag}

512

被折叠的 条评论
为什么被折叠?



