Как обнаружить гомографический текст, подделка юникода с помощью 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

Другие вопросы по тегам