CTFmisc类密码题思路与多种做法(CyberChef、Ciphey)
一、题目描述与分析
来源:
BMZCTF第二届网络安全公开赛,主办单位:白帽子社区 · WHT战队,2022年1月1日
签到题
下载下来一段:
56465a7757464977546d464e656b354b5632786b5346457862336c4f4d4842485632785a4d6c5a47556c46554d557057556a464e656c5a466146465756444135554651774f5642525054303d
print(len(str))
观察发现只有0-8和a-f,一共152个(152/2=76),怀疑是16进制
看到末尾的3d(十六进制)转成字符串是“ = ”(ASCII)
Base64字符串最后可能出现一个或两个"="。
base32后面可能有多个“=”(为了补全)
base64简介:
Base64要求把每三个8Bit的字节转换为四个6Bit的字节(3×8 = 4×6 = 24),然后把6Bit再添两位高位0,组成四个8Bit的字节,也就是说,转换后的字符串理论上将要比原来的长1/3。
规则
关于这个编码的规则:
①把3个字节变成4个字节。
②每76个字符加一个换行符。
③最后的结束符也要处理。
二、在线网站做法
16进制转字符串网站:
https://www.bejson.com/convert/ox2str/
https://www.toolscat.com/decode/hex
在线base64:
https://base64.us/
在线base32:
http://www.txttool.com/t/?id=NDQ0
16进制到文本字符串:
VFZwWFIwTmFNek5KV2xkSFExb3lOMHBHV2xZMlZGUlFUMUpWUjFNelZFaFFWVDA5UFQwOVBRPT0=
长度为76(152/2=76)
base64:
TVpXR0NaMzNJWldHQ1oyN0pGWlY2VFRQT1JVR1MzVEhQVT09PT09PQ==
长度为56
再次base64:
MZWGCZ33IZWGCZ27JFZV6TTPORUGS3THPU======
长度为40
最后base32:
flag{Flag_Is_Nothing}
长度为21
三、CyberChef
CyberChef是一个Web工具,直接访问:https://gchq.github.io/CyberChef/ 即可使用。
主区域有四个窗口,分别是Operations、Recipe、Input、Output。
Operations,选择需要进行的操作,是编码还是加解密,或者其他操作
Recipe,是相关操作需要的参数
Input,输入数据
Output,输出结果
最左边的Operations是转换工具集,把你挑选好的工具经过DIY组合及排序拖拽到Recipe中,就可以对Input中的字符串进行相应地解密操作了,工具很多,可以在Search框中搜索,输出结果会打印在Output窗口中。
CyberChef还可以powershell脚本反混淆
CyberChef解混淆脚本
本题:
From_Hex(‘Auto’)
From_Base64(‘A-Za-z0-9+/=’,true)
From_Base64(‘A-Za-z0-9+/=’,true)
From_Base32(‘A-Z2-7=’,true)
四、Ciphey
Ciphey 是一个使用自然语言处理和人工智能的全自动解密/解码/破解工具。用法:
ciphey -t "密文"
ciphey -f 文件名
本题直接把16进制到文本字符串放进去直接出来了!还帮着分析!!!
此外还可以用:随波逐流工具
那个解凯撒比较方便
LaTeX
本次比赛还出了一道LaTeX题
这个美团考过类似的,对照后取首字母就行,最后flag:Play_with_LaTex
LaTex常见符号对照表
查阅表:
https://detexify.kirelabs.org/symbols.html
LaTex在线编辑器
base64后翻译
2022 虎符CTF Plain Text:
Misc | Plain Text
赛题描述
ZE9CUk8gUE9WQUxPV0FUWCBOQSBNQVReLCBXWSBET0xWTlkgUEVSRVdFU1RJIFxUTyBOQSBBTkdMSUpTS0lKIFFaWUsuIHRXT0ogU0VLUkVUIFNPU1RPSVQgSVogRFdVSCBTTE9XLiB3U0UgQlVLV1kgU1RST15OWUUuIHFCTE9eTllKIEFSQlVaLiB2RUxBRU0gV0FNIE9UTEleTk9HTyBETlEu Flag格式 HFCTF{[a-z_]+},如有空格使用下划线代替。
base64解后得到
dOBRO POVALOWATX NA MAT^, WY DOLVNY PEREWESTI \TO NA ANGLIJSKIJ QZYK. tWOJ SEKRET SOSTOIT IZ DWUH SLOW. wSE BUKWY STRO^NYE. qBLO^NYJ ARBUZ. vELAEM WAM OTLI^NOGO DNQ.
通过google翻译得知是波兰 但是实际上是俄语读音 去掉第一行的干扰 google Translate直接识别俄语了
flag为HFCTF{apple_watermelon}
同样是复杂文字的:
WINGDING解码网站:
https://lingojam.com/WingDing
翻译文字:
https://lingojam.com/translators
30余种加密编码类型的密文特征分析:
https://admin-root.blog.csdn.net/article/details/109219997