[IT-эмиграция, Интерфейсы, Информационная безопасность, Хранение данных] Как плохо спроектированный UX у теста на коронавирус чуть не посадил нас на самоизоляцию, но дырка в безопасности спасла
Автор
Сообщение
news_bot ®
Стаж: 6 лет 9 месяцев
Сообщений: 27286
Это я, пишу скрипт по перебору параметров для POST запроса на gov.tr, сидя перед границей в Хорватию.
Как все начиналось
Мы с моей женой путешествуем по миру и работаем удаленно. Недавно переезжали из Турции в Хорватию (самая оптимальная точка, чтобы заехать в Европу). Чтобы не сесть на карантин в Хорватии, нужно иметь справку об отрицательном анализе на ковид, сделанном не позже 48 часов до въезда.
Выяснили, что относительно выгодно (2500 рублей) и быстро (всем результаты приходят в течение 5 часов) делают тест в аэропорту Стамбула, из которого мы как раз и вылетали.
В аэропорт приехали за 7 часов до вылета, нашли пункт сдачи теста. Делают все сумбурно: подходишь, даешь паспорт, платишь, получаешь 2 наклейки с barcode, идешь в мобильную лабораторию, там у тебя забирают одну из этих наклеек для идентификации твоего анализа. После выходишь, и тебе говорят: заходи на этот сайт: enabiz.gov.tr/PcrTestSonuc, вбивай свой баркод и последние 4 цифры паспорта, через какое-то время будет результат.
Но если вбивать данные сразу после сдачи анализа, страница выдает ошибку.
Уже тогда в мою голову закрались мысли о “прекрасном” UX, в котором при любой ошибке оператора, который вбивал паспортные данные, нет никакого способа узнать свой результат.
Перед вылетом
Приходит время вылета, я вбиваю свои данные и вижу, что документы по ним уже есть, хотя и результата теста пока нет.
Даже видно, что тесты поступили в лабораторию 1.5 часа назад. Но на ввод данных моей жены все еще выдается ошибка, что запись не найдена. А главное, не получится просто сходить и спросить, что не так, т.к. тест мы сдавали в зоне до паспортного контроля.
При посадке на рейс с нас потребовали результаты теста, но, к счастью, мы смогли убедить представителя аэропорта, что они скоро появятся (показали им баркоды), а, в крайнем случае, мы сядем на карантин.
Стоило мне зайти в самолет, как по моему коду появилась информация, что у меня тест отрицательный.
По прилету
И вот тут начинается веселье! Как только мы прилетели и подключились к местному WiFi, выяснилось, что запись моей жены так и не находится в базе. А на самой границе к документам подходили очень внимательно: пограничник брал тест на коронавирус и уносил в отдельную комнату на проверку его реальности. Мы решили, что расскажем нашу трустори как есть и узнаем, какие у нас есть варианты.
Пока мы стояли в очереди, я решил проверить на правильных (своих) и неправильных данных, как реагирует страница валидации.
Выяснилось, что она отправляет пост запрос на www.enabiz.gov.tr/PcrTestSonuc/GetPcrRaporVerifyWithKimlik, со следующими параметрами:
barkodNo=XX
kimlikNo=YY
kimlikTipi=2
где barkodNo – номер баркода, kimlikNo – номер паспорта, kimlikTipi – фиĸсированный параметр, равный 2 (если заполнять тольĸо первые два поля). Никаких токенов не было видно. На правильные параметры (мои данные) запрос отдавал 1, а на неправильные – 0.
Из постмана я попробовал перебрать 40 комбинаций (вдруг ошибка в один символ), но ничего не вышло.
В этот момент мы подошли к пограничнику, он выслушал нашу историю и предложил карантин. Но нам явно не хотелось сидеть 14 дней в квартире, поэтому мы попросились немного подождать в транзитной зоне, чтобы за пару часов попробовать разобраться с проблемой. Пограничник вошел в наше положение, сходил узнать, можно ли нам посидеть в белой зоне, и, с согласия руководителя, сказал: «okay, just couple of hours».
Я начал искать телефон тех, ĸто делал тест на ĸорону, и параллельно решил протестировать безумную гипотезу: если у этой системы такой ужасный UX, то и система безопасности не должна быть хорошей, хотя и домен gov.tr.
В итоге, сидя на звонках, я написал небольшой скрипт, который перебирал все числа от 0000 до 9999 в поле kimlikNo. barkodNo у нас был на наклейке, поэтому он не мог быть неверным.
Представляете мое удивление, когда даже после 500 непрерывных запросов я не был забанен, а скрипт продолжал бегать со скоростью 20 запросов в секунду с WiFi аэропорта.
Звонки большого успеха не дали: меня перенаправляли от одного департамента ĸ другому. Но очень скоро скоро скрипт выдал заветное значение 6505, что было совсем не похоже на реальные 4 цифры паспорта.
После загрузки документа, выяснилось, что там явно не паспорт моей жены (таких номеров даже не бывает у российских загранников), но все остальные данные (включая имя, фамилию и дату рождения) являются верными.
Самое интересное, что баркоды тоже не являются случайными, а идут почти один за одним. Тем самым, в теории, я бы мог найти контакты, кому достался номер паспорта моей жены, да и в целом плавно выкачать приватные данные других людей.
Но было 9 утра и ночь без сна, я опаздывал на онлайн встречу и был рад, что нас пропустили без карантина, поэтому просто начал свой путь по Европе.
===========
Источник:
habr.com
===========
Похожие новости:
- [Научно-популярное, Физика, Хранение данных] Новый магнитоэлектрический эффект поможет создать перспективный способ хранения данных
- [IT-эмиграция] Переезд в Европу по стартап визе
- [Информационная безопасность] Битва за Фаервол: IT Battle производителей Next Generation Firewall
- [IT-эмиграция] Ни туда, ни обратно
- [IT-инфраструктура, Информационная безопасность, Исследования и прогнозы в IT, Реверс-инжиниринг] Loki 1.8: досье на молодой и подающий надежды Data Stealer
- [Администрирование баз данных, Хранение данных, Хранилища данных] Вебинар «Как упростить хранение данных и организовать бесконечно масштабируемый источник» 25 сентября от Mail.ru Group
- [Хранение данных, Компьютерное железо, Накопители, Ноутбуки] Kingston заряжает флешки
- [Информационная безопасность, Программирование] Безопасность через неясность недооценивается (перевод)
- [Карьера в IT-индустрии, IT-эмиграция, Управление продуктом] [Личный опыт] Переехать в Штаты и устроиться в компанию мечты: советы от продакт-менеджера
- [IT-инфраструктура, Законодательство в IT, Информационная безопасность] IaaS 152-ФЗ: итак, вам нужна безопасность
Теги для поиска: #_itemigratsija (IT-эмиграция), #_interfejsy (Интерфейсы), #_informatsionnaja_bezopasnost (Информационная безопасность), #_hranenie_dannyh (Хранение данных), #_lichnyj_opyt (личный опыт), #_koronavirus (коронавирус), #_granitsy (границы), #_itemigratsija (
IT-эмиграция
), #_interfejsy (
Интерфейсы
), #_informatsionnaja_bezopasnost (
Информационная безопасность
), #_hranenie_dannyh (
Хранение данных
)
Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете голосовать в опросах
Вы не можете прикреплять файлы к сообщениям
Вы не можете скачивать файлы
Текущее время: 22-Ноя 19:38
Часовой пояс: UTC + 5
Автор | Сообщение |
---|---|
news_bot ®
Стаж: 6 лет 9 месяцев |
|
Это я, пишу скрипт по перебору параметров для POST запроса на gov.tr, сидя перед границей в Хорватию. Как все начиналось Мы с моей женой путешествуем по миру и работаем удаленно. Недавно переезжали из Турции в Хорватию (самая оптимальная точка, чтобы заехать в Европу). Чтобы не сесть на карантин в Хорватии, нужно иметь справку об отрицательном анализе на ковид, сделанном не позже 48 часов до въезда. Выяснили, что относительно выгодно (2500 рублей) и быстро (всем результаты приходят в течение 5 часов) делают тест в аэропорту Стамбула, из которого мы как раз и вылетали. В аэропорт приехали за 7 часов до вылета, нашли пункт сдачи теста. Делают все сумбурно: подходишь, даешь паспорт, платишь, получаешь 2 наклейки с barcode, идешь в мобильную лабораторию, там у тебя забирают одну из этих наклеек для идентификации твоего анализа. После выходишь, и тебе говорят: заходи на этот сайт: enabiz.gov.tr/PcrTestSonuc, вбивай свой баркод и последние 4 цифры паспорта, через какое-то время будет результат. Но если вбивать данные сразу после сдачи анализа, страница выдает ошибку. Уже тогда в мою голову закрались мысли о “прекрасном” UX, в котором при любой ошибке оператора, который вбивал паспортные данные, нет никакого способа узнать свой результат. Перед вылетом Приходит время вылета, я вбиваю свои данные и вижу, что документы по ним уже есть, хотя и результата теста пока нет. Даже видно, что тесты поступили в лабораторию 1.5 часа назад. Но на ввод данных моей жены все еще выдается ошибка, что запись не найдена. А главное, не получится просто сходить и спросить, что не так, т.к. тест мы сдавали в зоне до паспортного контроля. При посадке на рейс с нас потребовали результаты теста, но, к счастью, мы смогли убедить представителя аэропорта, что они скоро появятся (показали им баркоды), а, в крайнем случае, мы сядем на карантин. Стоило мне зайти в самолет, как по моему коду появилась информация, что у меня тест отрицательный. По прилету И вот тут начинается веселье! Как только мы прилетели и подключились к местному WiFi, выяснилось, что запись моей жены так и не находится в базе. А на самой границе к документам подходили очень внимательно: пограничник брал тест на коронавирус и уносил в отдельную комнату на проверку его реальности. Мы решили, что расскажем нашу трустори как есть и узнаем, какие у нас есть варианты. Пока мы стояли в очереди, я решил проверить на правильных (своих) и неправильных данных, как реагирует страница валидации. Выяснилось, что она отправляет пост запрос на www.enabiz.gov.tr/PcrTestSonuc/GetPcrRaporVerifyWithKimlik, со следующими параметрами: barkodNo=XX kimlikNo=YY kimlikTipi=2 где barkodNo – номер баркода, kimlikNo – номер паспорта, kimlikTipi – фиĸсированный параметр, равный 2 (если заполнять тольĸо первые два поля). Никаких токенов не было видно. На правильные параметры (мои данные) запрос отдавал 1, а на неправильные – 0. Из постмана я попробовал перебрать 40 комбинаций (вдруг ошибка в один символ), но ничего не вышло. В этот момент мы подошли к пограничнику, он выслушал нашу историю и предложил карантин. Но нам явно не хотелось сидеть 14 дней в квартире, поэтому мы попросились немного подождать в транзитной зоне, чтобы за пару часов попробовать разобраться с проблемой. Пограничник вошел в наше положение, сходил узнать, можно ли нам посидеть в белой зоне, и, с согласия руководителя, сказал: «okay, just couple of hours». Я начал искать телефон тех, ĸто делал тест на ĸорону, и параллельно решил протестировать безумную гипотезу: если у этой системы такой ужасный UX, то и система безопасности не должна быть хорошей, хотя и домен gov.tr. В итоге, сидя на звонках, я написал небольшой скрипт, который перебирал все числа от 0000 до 9999 в поле kimlikNo. barkodNo у нас был на наклейке, поэтому он не мог быть неверным. Представляете мое удивление, когда даже после 500 непрерывных запросов я не был забанен, а скрипт продолжал бегать со скоростью 20 запросов в секунду с WiFi аэропорта. Звонки большого успеха не дали: меня перенаправляли от одного департамента ĸ другому. Но очень скоро скоро скрипт выдал заветное значение 6505, что было совсем не похоже на реальные 4 цифры паспорта. После загрузки документа, выяснилось, что там явно не паспорт моей жены (таких номеров даже не бывает у российских загранников), но все остальные данные (включая имя, фамилию и дату рождения) являются верными. Самое интересное, что баркоды тоже не являются случайными, а идут почти один за одним. Тем самым, в теории, я бы мог найти контакты, кому достался номер паспорта моей жены, да и в целом плавно выкачать приватные данные других людей. Но было 9 утра и ночь без сна, я опаздывал на онлайн встречу и был рад, что нас пропустили без карантина, поэтому просто начал свой путь по Европе. =========== Источник: habr.com =========== Похожие новости:
IT-эмиграция ), #_interfejsy ( Интерфейсы ), #_informatsionnaja_bezopasnost ( Информационная безопасность ), #_hranenie_dannyh ( Хранение данных ) |
|
Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете голосовать в опросах
Вы не можете прикреплять файлы к сообщениям
Вы не можете скачивать файлы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете голосовать в опросах
Вы не можете прикреплять файлы к сообщениям
Вы не можете скачивать файлы
Текущее время: 22-Ноя 19:38
Часовой пояс: UTC + 5