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: