RIGHT-TO-LEFT OVERRIDE и почему он опасен

В мобильном приложении пост отображается некорректно


Для начала вот вам безобидный пример его использования


Half Life 3 слили на торренты

https://youtu.be/dQw4w9WgXcQ#tnerrot/gro.yabetaripeht


Вот уже не настолько безобидный пример

RIGHT-TO-LEFT OVERRIDE и почему он опасен Безопасность, Unicode, Rlo, Длиннопост

Одна из этих картинок на самом деле не картинка, а исполняемый файл

Методом внимательного (очень-очень внимательного) вглядывания вы сможете найти что тут не так, но в 99% случаев вы не заметите подвоха


Как это работает


RIGHT-TO-LEFT OVERRIDE - это управляющий символ Unicode который указывает что все следующие за ним символы должны отображается справа налево (как арабский текст)

Нужна эта вещь как раз для того чтобы выводить арабский (и т.д.) текст

Так как это управляющий символ сам по себе он не отображается


Но то что текст выводится в обратном порядке означает что программы будут анализировать текст не в таком порядке в каком его видим мы

Вот где то так мы можем видеть текст

87654321

А так его будет воспринимать система

*12345678 ( * - это тот самый символ RIGHT-TO-LEFT OVERRIDE )


Таким образом ссылка вида

https://youtu.be/dQw4w9WgXcQ#tnerrot/gro.yabetaripeht

видна системе как *https://youtu.be/dQw4w9WgXcQ#tnerrot/gro.yabetaripeht (что абсолютно нормально воспринимается пикабу как ссылка на ютуб)


Также можно сделать и посреди имени файла превратив asdhkjbnasgnp.exe

в asdhkjbnas‮gnp.exe

но опять же система воспринимает его как asdhkjbnas*gnp.exe

и хоть мы видим что расширение png на самом деле система запустит его как exe файл


Таким образом вы можете случайно перейти не на тот сайт или открыть вместо картинки\документа\и т.д. exe или любой другой файл

Из моего опыта могу сказать что все вышеперечисленное работает на:

Windows любой версии (по крайней мере начиная с 7й так точно)

Большинстве браузеров (работает вариант со ссылкой, если попытаетесь скачать исполняемый файл браузер вас предупредит что это опасно)

Но не работает в архиваторах (там вместо управляющего символа выводиться прямоугольник, и направление текста не изменяется, хотя я очевидно не во всех архиваторах тестил)


Мораль сего поста такова:

Внимательно смотрите на каком сайте вы вводите пароли и есть ли шифрование

Внимательно смотрите какие файлы вы открываете на компьютере

@moderator @admin надеюсь на этот раз вы это увидите и все таки запретите использовать этот символ на пикабу

Информационная безопасность IT

1.4K постов25.5K подписчик

Добавить пост

Правила сообщества

Обязательно к прочтению для авторов:

1. Если вы добавляете пост, утверждающий об утечке данных или наличии дыр в системе, предоставьте ссылку на источники или технически подкованное расследование. Посты из разряда "Какой-то банк слил данные, потому что мне звонили мошенники" будут выноситься в общую ленту.
2. Все вопросы "Как обезопасить сервер\приложение\устройство" - в лигу "Компьютер это просто".

Обязательно к прочтению для всех:

Добавление ссылки разрешено если она не содержит описание коммерческих (платных) продуктов и/или идентификаторов для отслеживания перехода и для доступа не нужен пароль или оплата в т.ч. интернет-ресурсы, каналы (от 3-х тематических видео), блоги, группы, сообщества, СМИ и т.д.


Запрещены политические holy wars.

По решению модератора или администратора сообщества пользователь будет забанен за:

1. Флуд и оскорбление пользователя, в т.ч. провокация спора, флуда, холивара (высказывание без аргументации о конкретной применимости конкретного решения в конкретной ситуации), требование уже данного ответа, распространение сведений порочащих честь и репутацию, принижающих квалификацию оппонента, переходы на личности.

2. Публикацию поста/комментария не соответствующего тематике сообщества, в том числе обсуждение администраторов и модераторов сообщества, для этого есть специальное сообщество.

3. За обвинение в киберпреступной деятельности.

4. За нарушение прочих Правил Пикабу.

Вы смотрите срез комментариев. Показать все
232
Автор поста оценил этот комментарий

Всё из-за чертовых арабов. Если бы они писали как нормальные люди, проблем бы не было.

раскрыть ветку (30)
97
Автор поста оценил этот комментарий

Страшный сон верстальщика UI

Иллюстрация к комментарию
раскрыть ветку (8)
122
Автор поста оценил этот комментарий

Ещё бы цифры свои придумали!!! (шутка)

ещё комментарии
2
Автор поста оценил этот комментарий
Короче история. Года два назад я работал в одной компании, там был отдел андроид разработки. И им зачем-то надо было сделать в приложении опцию для арабских шрифтов. По-простому сделать не получалось, пришлось им всю вёрстку, дублировать для этих шрифтов (2 режима получалось). Делали неделю, когда почти закончили, один из них решил порыться в настройках телефона. Нашёл, что надо было просто включить арабский вариант и начальная вёрстка встала как надо.😀
114
Автор поста оценил этот комментарий
Если бы их не было, то проблем бы не было... :) Извиняюсь за тавтологию.
раскрыть ветку (11)
67
Автор поста оценил этот комментарий
Иллюстрация к комментарию
раскрыть ветку (5)
18
Автор поста оценил этот комментарий

Нет арабов - нет RIGHT-TO-LEFT OVERRIDE

раскрыть ветку (4)
16
Автор поста оценил этот комментарий

А нет арабов - ... нет арабов.

раскрыть ветку (3)
4
Автор поста оценил этот комментарий
А цифры? Цифры то арабские =)
раскрыть ветку (2)
9
Автор поста оценил этот комментарий
На самом деле они индийские
3
Автор поста оценил этот комментарий
Индийские так то.
12
Автор поста оценил этот комментарий

Действительно и прогресса бы не было бы во времена Темных веков.

раскрыть ветку (3)
1
Автор поста оценил этот комментарий

во времена темных веков и у них прогресса не было

раскрыть ветку (2)
1
Автор поста оценил этот комментарий

Да вы что? А то что вся цивилизация перенеслась в Арабский мир и все научные труды в "Западных землях" были сделаны там  в то время это значит что прогресса не было?

раскрыть ветку (1)
1
Автор поста оценил этот комментарий

подумаешь религия пришла чуть-чуть позже

зато до сих пор не ушла

4
Автор поста оценил этот комментарий
И цифр бы нормальных не было.
2
Автор поста оценил этот комментарий

Но ведь евреи вроде так же пишут как и арабы.

раскрыть ветку (1)
3
Автор поста оценил этот комментарий
Неужели у этого вопроса нет окончательного решения?
7
Автор поста оценил этот комментарий

Где ты видел араба, который может в кодинг? Наверняка это евреи для своего перевёрнутого иврита придумали

ещё комментарии
Вы смотрите срез комментариев. Чтобы написать комментарий, перейдите к общему списку