2021 | 中国科学技术大学第八届信息安全大赛 | General
透明的文件
题目¶
一个透明的文件,用于在终端中展示一个五颜六色的 flag。
可能是在 cmd.exe 等劣质终端中被长期使用的原因,这个文件失去了一些重要成分,变成了一堆乱码,也不会再显示出 flag 了。
注意:flag 内部的字符全部为小写字母。
解题思路¶
-
查看
transparent.txt,有点眼熟啊 (ŏωŏ) -
根据
用于在终端中展示一个五颜六色的 flag,再结合 RsaCtfTool/test.sh(十分感谢!😽) 推测是终端设置颜色和格式化的控制序列,只不过语法结构有缺失 - 在所有
[之前添加\e或\033或\x1B -
清空终端并执行
echo -e `cat transparent.txt`,然后全部选中(由于打印的字符为空格,选中才可见设置的字体颜色)就可以看到 Flag 了 🥳

- 或者替换空格为可见字符
echo -e `cat transparent.txt | sed 's/ /O/g'`

- 或者替换空格为可见字符
咕咕咕¶
- 终端显示依赖于控制序列
- ed(文本编辑器) - ed(1) - Linux man page
- 适用于不解析控制字符的 dumb terminal
reset vs clear¶
clear清空终端屏幕reset将重新初始化终端,比clear更彻底,但保留bash的状态
参考资料¶
最后更新:
2021年11月1日 18:56:22
Contributors: