最近开始从头学习CTF了,在这里记录一下在BUUCTF的解题思路和过程。
MD5解码
Base64解码
URL解码
在字母表中的凯撒密码,原码字母前移13位
摩斯密码解码
说实话这道题我没看出来他想考啥知识点…
但是最后试对了,flag是姓名首字母缩写+生日
(上一个凯撒是字母表内偏移,就猜想这次编译凯撒是不是放在ASCII码里头偏移)
当然正常思考角度的话,这次密文里有_、^这种符号出现,应该联想到ASCII码
由题目可以看出 afZ_对应的是flag,找到ASCII码对照表:
f | l | a | g |
---|---|---|---|
102 | 108 | 97 | 103 |
a | f | Z | _ |
---|---|---|---|
97 | 102 | 90 | 95 |
分析得出,第一位ASCII码差5,第二位差6,第三位差7,第四位差8,以此类推可以得到答案。
flag{Caesar_variation}
我看到题目以为是十六进制转码,然后还自己把等号删掉了去转二进制…但是得到的10串也不知道有啥用…
然后我就看到了题目,就去百度了一下qouted printable是啥意思,哈哈哈哈哈哈或真被我找着了!!
发现是可打印字符引用编码,然后他属于MIME编码,格式就是=后加两个十六进制数字。
选择解码集的时候俺也不懂其他的字符集,就直接选了一手UTF-8解码,就得到了答案!
建议大家自己去这里解码一下,有惊喜哦!有被夸到!
刚看到题目很懵,不知道这是啥加密方式。
后面在坚持不懈地百度下,发现Rabbit是一种高速流密码,它具有以下特征:
- 由26个英文大小写字母、=、+、/ 组成
- 以U2FsdGVkX1开头
- 可能以=结尾
所以答案到这就很明显了,直接去Rabbit在线解密解码一下就行。
篱笆墙直接联想到栅栏密码哈哈哈哈,直接去找了个在线解密的网站,我用的是这个。
我很有自知之明,比起我自己去逆推,一个一个试分组字数现任更快。
题目已经给了p,q,e的值,要我们解出d。推荐一个小工具,下载地址放这了,用来做这类题目很方便。
打开来是一个python程序,先试着运行一下,结果提示最后一行要加括号。
加完括号之后再运行,有提示在哈希之前必须进行编码。
于是在报错的那行加上.encode(“utf-8”),就可以顺利运行,得到flag。
附上最后的代码:
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'.encode("utf-8")+chr(i).encode("utf-8")+'O3RJMV'.encode("utf-8")+chr(j).encode("utf-8")+'WDJKX'.encode("utf-8")+chr(k).encode("utf-8")+'ZM'.encode("utf-8"))
des=m.hexdigest()
if 'e9032' in des and 'da' in des and '911513' in des:
print (des)
直接把这个整数拿去分解,网页链接放这了。
得到这两个数之后按题目组合,然后拿去md5加密,得到flag。
最近忙毕设,月底要交论文查重然后六月初答辩…等继续更新的时候得要六月份答辩完再继续肝ctf了,毕竟一定要毕业啊!!!!
------ 5.12更新--------