我正在尝试检测同形攻击和其他攻击,其中攻击者使用外观与可信域名(例如,bankofthevvest.com而不是bankofthewest.com)类似的伪造域名。
是否有适合编程使用的视觉相似字符的字典或数据库?
例如,如果我查到"l",我想要得到一个列表,上面写着L在视觉上与"1“和"i”相似(至少在某些字体中是这样)。如果我查找"w",它可能会告诉我,它在视觉上类似于"vv“(在某些字体中)。如果我查找"d",它可能会告诉我,它在视觉上类似于"cl“(在某些字体中)。至少现在,我的重点是ASCII字符之间的视觉相似性。忽略Unicode是可以的。(但是,如果有一个列表也知道哪些Unicode字符在视觉上与每个ASCII字符相似,那将是额外的奖励。)
如果这样的事情已经存在,我想避免重新发明轮子。这样的名单是否已经存在?
到目前为止,我发现的是:
发布于 2016-06-27 13:44:28
对同形词攻击有不同的方法。成功与否取决于使用的字体。例如,在一些字体中,小字母L看上去非常像大写字母I,而在另一些字体中,则不是。
使用相似的字符。他们代替了真正的角色。
有些语言,如德语,有特殊的字符(例如,umlaut)。在某些情况下,他们可能看起来像一个没有他们的角色:
在一些字体中,多字母方法非常成功。
从多个字符构造单个字符。非常流行的是vv而不是w。
注入涉及将无意义的字符插入到字符串中,特别是在域/url中。
http://somewebsite.example⇔http://some-website.example
在这种情况下,空白常常被忽略。零宽度空白()是一个很好的工具,在某些情况下。
发布于 2016-06-27 14:08:08
https://security.stackexchange.com/questions/128286
复制相似问题