"五个关于Unicode的事情,每个人都应该知道"是一篇博客文章,展示了Unicode字符如何成为网站攻击向量的例子。
这种现实世界中的攻击的主要例子是一个假的WhatsApp应用程序,提交到Google Play商店,使用开发者名称中的Unicode不可打印空格,使名称独特,并允许其通过Google的过滤器。蒙古语元音分隔符(U+180E)就是这样一个不可打印的空格字符。
另一个漏洞是使用外观相似的替代Unicode字符。Mimic工具展示了这种方法的工作原理。我可以想到的一个例子是在注册新用户时保护用户名。您不希望两个用户名相同,或者它们看起来相同。
如何防范这种情况?是否有这些字符的列表可用?是否应该将所有这些类型的字符从所有表单输入中删除是通行做法?