HackThisSite - Steganography Mission 10
Challenge
Steganography —
I am not Shakespeare!题目图片里是一段关于 bacon(培根)的文字,要求从中找出密码。提交字段
pass, POST 到/missions/stego/template.php(formkey每次加载都变,且必须带Referer: https://www.hackthissite.org/missions/playit/stego/10/,否则回Invalid Referer且不计分)。
Solution
题面那句 I am not Shakespeare!
是双关:字形用的是文字排版(图里每个字母有粗体和非粗体两种形态),这就是
Bacon 密码需要的两种符号。
1 | 粗体字母 -> B |
按阅读顺序分组后,开头几组解出:
1 | BAABB = T |
整段解出:
1 | thepasswordisnothere |
也就是密码不在里面。真正的密码是最后那个词。
1 | $ curl -sL -b "$HTS_COOKIE" -e 'https://www.hackthissite.org/missions/playit/stego/10/' \ |
提交后关卡页出现
You have already done this mission.,且该关的完成人数从
1497 变成 1498; profile 的
Stego: 行出现 (10)。
Vulnerabilities
这是用排版当信道的经典隐写:信息的载体是字形属性, 所以只有把粗体/非粗体当二进制读才能还原。 防御视角上它说明:任何能被机器读取、又能承载人类可见信息的属性(粗体、下划线、行距、字色细微差别) 都可以被当作隐蔽信道,要防的应是下游自动化处理时忽略这些属性。
nothere