Как обнаружить гомографический текст, подделка юникода с помощью node.js
Пользователи могут получить свои собственные дочерние сайты на нашем сайте, так что www.example.com/subsite/gary будет определенным дочерним сайтом.
Однако меня беспокоит возможность атак с использованием гомографического / юникод-спуфинга, когда злонамеренный пользователь создает учетную запись с другим именем пользователя, но с символами Юникода, которые будут выглядеть одинаково для других, и таким образом может передавать ссылку, предполагающую, что она является gary. когда это на самом деле кто-то еще.
Единственное решение, которое я видел в этом, которое выглядит зрелым, - это UCAPI http://www.casaba.com/products/UCAPI/ но я бы предпочел не использовать его, я хотел бы иметь что-то, что работает с node.js. (в той степени, в которой я предпочел бы реализовать себя в случае необходимости)
У кого-нибудь есть пример, где они могут проверять подобные виды гомографических / спуфинговых атак с помощью node.js?
2 ответа
Вы можете попробовать использовать нормализацию Unicode сString.prototype.normalize
который доступен в Node.js v0.12, но я сомневаюсь, что он позаботится о каждом возможном векторе атаки.
Используйте UCAPI - это сделано именно для вашего случая использования.
Подождите достаточно долго, и кто-то осуществит это за вас - https://www.npmjs.com/package/homoglyph-search