赞
踩
base64.b64decode("ZmxhZ3tUSEVfRkxBR19PRl9USElTX1NUUklOR30=")
flag{THE_FLAG_OF_THIS_STRING}
https://www.somd5.com/
flag{admin1}
https://tool.ip138.com/urlencode/
flag{and 1=1}
flag{5cd1004d-86a5-46d8-b720-beb5ba0417e1}
flag{ILOVEYOU}
根据字符数猜测:密码=姓名+出生年月日
flag{zs19900315}
移位凯撒
txt = "afZ_r9VYfScOeO_UL^RWUc".strip()
plain = ''
cnt = 4
for i in txt:
cnt = cnt + 1
plain = plain + chr(ord(i)+cnt)
print(plain)
flag{Caesar_variation}
Quoted-printable可译为“可打印字符引用编码”,编码常用在电子邮件中
考虑用python的quopri库进行解密
quopri.decodestring('=E9=82=A3=E4=BD=A0=E4=B9=9F=E5=BE=88=E6=A3=92=E5=93=A6')
得到一串UTF-8密文
'\xe9\x82\xa3\xe4\xbd\xa0\xe4\xb9\x9f\xe5\xbe\x88\xe6\xa3\x92\xe5\x93\xa6'
s = '\xe9\x82\xa3\xe4\xbd\xa0\xe4\xb9\x9f\xe5\xbe\x88\xe6\xa3\x92\xe5\x93\xa6'
ss = s.encode('raw_unicode_escape')#此str转化为bytes
print(ss)
sss = ss.decode()
print(sss)
flag{那你也很棒哦}
Rabbit加密
AES、DES、RC4、Rabbit、Triple DES(3DES)这些算法都可以引入密钥
密文特征与Base64类似,明显区别是秘文里+比较多,并且经常出现/
http://www.jsons.cn/rabbitencrypt/
flag{Cute_Rabbit}
栅栏密码,CTFCrackTool即可解码(python内置函数不好用)
flag{wethinkwehavetheflag}
把报错的代码改对
TypeError: can't concat str to bytes
,字符类型错误;哈希之前必须对Unicode对象进行编码,应当在"update"函数之中所有的所有参数进行可选参数编码,默认编码为’utf-8’flag{e9032994dabac08080091151380478a2}
使用在线工具分解质数
https://zh.numberempire.com/numberfactorizer.php
进行MD5加密
https://md5jiami.bmcx.com/
flag{d450209323a847c8d01c6be47c81811a}
偏移量是13
记得改对大小写
flag{PbzrPuvan}
使用在线工具,解码第二行第三组数据(为什么这个数据?因为第二行在admin下面,而前面那个数字解不出来)
flag{good-luck}
中文电码(misc题)
http://code.mcdvisa.com/
flag{计算机要从娃娃抓起}
试一试凯撒密码,发现不对
猜测是替换密码,选择传统的字典爆破思路
去掉空格,改成小写即可
猪圈密码http://mmoersima.00cha.net/zhuquan.asp
flag{whenthepigwanttoeat}
根据所给条件一一映射,再都加60,转成ASCLL码
之后是栅栏+凯撒,胡乱操作一番就可以找到一个像flag一样的东西
flag{SHUANGYU}
上面有原题,一模一样
flag{3617656}
词频分析即可得到flag,记得改小写
flag{640e11012805f211b0ab24ff02a1ed09}
如上题,需要将模式改为Genetic,trust spaces
flag{n1_2hen-d3_hu1-mi-ma_a}
在线解码网站http://www.hiencode.com/uu.html
类似于base64,只是后来被取代了
flag{dsdasdsa99877LLLKK}
使用工具进行解码
观察得到这一串最大是F,猜测是base16
flag{1s’t_s0_345y}
总共三个未知量,26^3个可能性,穷举所有可能即可
md5加密:y = hashlib.md5(x.encode('utf-8')).hexdigest().upper()
import hashlib
m = 'TASC?O3RJMV?WDJKX?ZM'
for i in range(26):
t1 = m.replace('?',str(chr(65+i)),1)
for j in range(26):
t2 = t1.replace('?',str(chr(65+j)),1)
for k in range(26):
t3 = t2.replace('?',str(chr(65+k)),1)
s = hashlib.md5(t3.encode('utf-8')).hexdigest().upper()
if s[:4] == 'E903':
print(s)
flag{E9032994DABAC08080091151380478A2}
key = open("key.txt", 'rb').read()
cipher = open("密文.txt", "rb").read()
flag = []
result = ""
for i in range(len(key)):
flag.append(key[i] ^ cipher[i])
result += chr(flag[i])
print(flag)
print(result)
flag{ea1bc0988992276b7f95b54a7435e89e}
ROT5、ROT13、ROT18、ROT47 编码是一种简单的码元位置顺序替换暗码;此类编码具有可逆性,可以自我解密,主要用于应对快速浏览,或者是机器的读取,而不让其理解其意。
rot5只用于数字的替换,将当前数字往后移5位,范围是0~9
明文: 123456
密文: 678901
rot13只能用于字母的替换,将当前字母往后移13个位置(不改变字母大小写),范围为a-z或者A-Z
明文:abcdefghijklmnopqrstuvwxyz
密文:nopqrstuvwxyzabcdefghijklm
明文:ABCDEFGHIJKLMNOPQRSTUVWXYZ
密文:NOPQRSTUVWXYZABCDEFGHIJKLM
rot18就是13+5的合成,加密方法是rot5+rot13,对数字进行rot5加密,对字母进行rot13加密
明文:123456abcdefgHIJKLMN
密文:678901nopqrstUVWXYZA
rot47将每位数字/字母的ASCII值往前移动47位,比如"Z"对应的ASCII值是90,则90-47=43,对应是"+"
明文:ilo1ey0u
密文::=@`6J_F
范围是可打印的字符,ASCII值为32-126
ROT47在线解码工具https://www.jisuan.mobi/YYA.html
flag{Y0u_kNow_much_about_Rot}
playfair密码,需要 j -> i
在线解密网站
https://rumkin.com/tools/cipher/playfair/
http://www.hiencode.com/playfair.html
flag{itisnotaproblemhavefun}
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。