文章背景
来自于中科大2020年CTF比赛:
233 同学的字符串工具
本题要求了解UTF-7编码规范
UTF-7编码当中的加减号(+ -)
本题WP当中最令笔者奇怪的是答案当中的+ -,如图
多方查找(包括中文维基)都没有解决
最后在英文维基上发现了一段中文维基没有翻译的内容,如图:
也就是说,类似于
0x后面的数字会被视作十六进制,从而可以被python的eval()转换
对于字符串而言也有:
+与-中间的字符串会被视作经BASE64编码过的字符,
进而被python的decode()转换为UTF-7
至于为什么是base64
参见