buuctf 密码学刷题笔记
1.MD5 用网站解密
2.URL编码 用网站解密
3.Base64解密
4.看我回旋踢 rot13解密,凯撒变种
5.摩斯电码解密
6.y1ng签到题 base64解密
7.password
姓名:张三
生日:19900315
key格式为key{xxxxxxxxxx}
此处是猜测弱口令,格式有10个x,猜测密码为zs19900315,包上key{}
8.变异凯撒,位移逐位递增,通过猜flag对应的字母确定首字母偏移量,然后用python写脚本解出来,手写都可以
9.Quoted Printable QP编码
10.rabbit
即rabbit解密,原理在https://www.ietf.org/rfc/rfc4503.txt
对我来说为时尚早,根本看不懂
所幸网站解密就行
11.篱笆墙的影子
felhaagv{ewtehtehfilnakgw}
flag{wethinkw}
ehav etheflag
把原文拆成两队对插成一句了
13.丢失的md5
拿到之后是一段python源码,直接运行提示没有被编码
把明文处每一段后面都加.encode('utf-8')之后运行就得到flag
这里一开始utf-8忘记加引号括起来了,以后注意
15.Alice&Bob
把98554799767质因数分解,直接用在线工具分解它
101999*966233
然后乘号去掉,把这个数字进行32位小写哈希
脚本:
import hashlib
a='101999966233'.encode('utf-8')
b=hashlib.md5()
b.update(a)
result=b.hexdigest()
print(result)
本题注意:hash.update(arg)
更新hash对象。连续的调用该方法相当于连续的追加更新。
hash.hexdigest()
与digest方法类似,不过返回的是两倍长度的字符串对象,所有的字符都是十六进制的数字。
反正遇到这种情况直接一套组合拳下去就完事了
18.windows系统密码
用010打开文件,发现有ctf,这一行内有两个md5值,分别丢网站解密,只有第二个能解密的出来