Привет! Меня зовут Василий Брит, и я уже почти пять лет работаю программистом в компании Positive Technologies. Сегодняшний рассказ будет про веселый баг про веселую фичу на vk.com, которая существует больше 10 лет.
Рубрика «баг»
Баг в ВК, или Как поступить на факультет пиратов в МГУ
2024-12-08 в 15:00, admin, рубрики: bug, cybersecurity, DevTools, http, баг, Вконтакте, образование, факультет, юморПодводные камни компараторов в С++
2023-01-18 в 10:54, admin, рубрики: c++, debug, qa, qa testing, testing, алгоритм, Алгоритмы, баг, Блог компании «Лаборатория Касперского», компаратор, математика, отладка, Программирование, разработка, тестирование, тестирование веб-приложений, тестирование по
Чаще всего при сортировке объектов пользовательских типов написание кода сравнения элементов коллекции не вызывает вопросов. Компаратор должен возвращать true, если первый аргумент меньше второго, то есть в отсортированном массиве первый аргумент должен идти перед вторым. Алгоритмы сначала вызывают компаратор для пары элементов x и y. Если компаратор вернул true, значит, элемент x меньше y и он должен идти в коллекции перед элементом y, если false, то компаратор вызывается повторно для пары y и x. Если компаратор опять вернул false, значит, элементы равны, иначе порядок определен.
Меня зовут Олег Игнатов, я — Development Team Lead в команде KICS (Kaspersky Industrial CyberSecurity) «Лаборатории Касперского». Мы защищаем промышленные инфраструктуры и сети от специализированных киберугроз. В этой статье расскажу о некоторых особенностях использования компараторов в С++, знание которых позволит не наступить на различные грабли и сэкономить время при разборе багов.
Читать полностью »
Строки кода, которые изменили мир
2022-12-09 в 8:01, admin, рубрики: DEC PDP-1, ENIAC, Facebook, flow, irc, like, MIT, Spacewar, timeweb_статьи, баг, Блог компании Timeweb Cloud, Грейс Хоппер, интернет, Научно-популярное, научпоп, Программирование, Совершенный код{"__typename":"PageLikeAction","action_type":"LIKE","label":{"text":"Like"}
В 2009 году Facebook добавила в интерфейс своей социальной сети код, изменивший мир — кнопку «Like». «Лайк» был детищем нескольких программистов и дизайнеров — Лии Перлман и Джастина Розенштейна. Они предположили, что пользователи Facebook часто бывают слишком заняты, чтобы оставлять комментарии к постам своих друзей, и что поэтому им нужна простая кнопка, нажав которую можно было бы дать понять друзьям, что их пост вам понравился. Так оценивать и поощрять друг друга пользователям стало бы легче, а значит и делали бы они это чаще.
Это сработало — и даже слишком хорошо. К 2012 году пользователи прожали «лайк» триллион раз. У этого оказались и побочные эффекты. Многие стали публиковать фото/видео, чтобы потом сидеть и с тревогой обновлять страницу, ожидая, когда же число лайков возрастёт. Все стали гадать, почему кто-то другой получает больше лайков. Люди подсели на иглу одобрения (вместо того, чтобы сесть на чьё-то лицо), что отразилось на их повседневной онлайн-активности: старались публиковать как можно больше постов, чтобы казаться смешнее, умнее, красивее, спортивнее.
Небольшой фрагмент кода, который внёс почти незаметное изменение в пользовательский интерфейс социальной сети, изменил поведение людей. Ниже представлен список из примеров подобных важных фрагментов кода, которые изменили мир. И на самом деле это неполный список, учитывая огромное количество кода, который был написан.Читать полностью »
Хабр, зачем ты сломал свою поддержку (а заодно и шапку)?
2022-01-18 в 13:28, admin, рубрики: баг, браузеры, техподдержка, хабрЯ давненько уже читаю Хабр, скоро 10 лет будет. Конечно, немало раз я натыкался на какие-то баги, которые добросовестно репортил через форму "Техническая поддержка" в футере страницы. И всегда реакция была довольно адекватной, техподдержка сразу понимала мои репорты, либо подтверждала, либо уточняла технические детали.
А недавно обнаружил очередную проблему. Ссылки на разделы вверху сайта ("Моя лента", "Все потоки", "Разработка" — вот это вот все) ведут себя некорректно (UPD:Читать полностью »
Кража закрытых видео YouTube по одному кадру
2021-06-15 в 9:50, admin, рубрики: Google VRP, idor, YouTube, баг, Блог компании VDSina.ru, информационная безопасность, Работа с видео, Тестирование веб-сервисов
В декабре 2019 года, спустя несколько месяцев после того, как я занялся хакингом по программе Google VRP, я обратил внимание на YouTube. Мне хотелось найти способ получать доступ к закрытым (Private
) видео, которыми я не владею.
При загрузке видео на YouTube можно выбрать один из трёх параметров доступа. «Открытый» (Public
) позволяет находить и просматривать видео любым пользователям, «Доступ по ссылке» (Unlisted
) позволяет просматривать видео только пользователям, знающим ID видео (URL), «Ограниченный доступ» (Private
) позволяет просматривать видео только вам или другим аккаунтам, которым дано на это разрешение.
Первым делом я загрузил видео на свой второй тестовый канал аккаунта YouTube и переключил параметры доступа видео на Private
, чтобы его можно было использовать для тестирования. (Помните, что тестирование всегда нужно проводить на тех ресурсах/аккаунтах, которыми вы владеете!) Если я смогу найти способ получить доступ к видео с первого тестового аккаунта, то мы выявим наличие бага.
Я открыл YouTube под первым аккаунтом, проверил каждую функцию и нажал на каждую кнопку, которую смог найти. Каждый раз, когда я видел HTTP-запрос с указанием ID видео, я заменял его на тестовое видео с доступом Private
, надеясь, что так утечёт какая-нибудь информация о нём, но успеха не добился. Похоже, что основной веб-сайт YouTube (по крайней мере, все его конечные точки, которые я протестировал) всегда проверяет, находится ли видео в состоянии Private
, и когда пытается выполнить запрос к целевому закрытому видео, он всегда возвращает ошибки наподобие This video is private!
.
Мне нужно найти другой способ.
Читать полностью »
Майнинг еды или «Пятерочка» глазами хакера
2021-01-21 в 21:09, admin, рубрики: баг, взлом, информационная безопасность, обход смс, приложение, пятёрочкаВведение
Написать этот пост меня вдохновила статья, которая давно висит на Хабре. Сразу хочу извиниться перед автором, лучше названия и придумать нельзя. Как вы все знаете «Пятерочка» активно рекламирует свои карты лояльности. В статье выше нам рассказывали о том, что мошенники активируют чужие карточки и списывают баллы. Хакеры пошли дальше и вместо активации чужих карт просто стали взламывать личные кабинеты пользователей. А что? Звучит даже проще активации карт, давайте разберёмся поподробнее.
Читать полностью »
«Особенность» Instagram
2020-12-12 в 16:12, admin, рубрики: bug bounty, Instagram, баг, безопасность, информационная безопасностьВ 2020 году даже если злоумышленник попал в ваш аккаунт социальной сети, это неприятно, но не критично. Ведь у нас есть двухфакторная аутентификация на многие важные действия, а доступа к почте/телефону у злоумышленника нет и аккаунт ему не угнать. Так ведь? Нет.
В Instagram -Читать полностью »
Браузер и числа с плавающей запятой
2020-10-26 в 7:41, admin, рубрики: javascript, json, Алгоритмы, баг, Блог компании VDSina.ru, математика, Программирование
Изображение — www.freepik.com
Несколько лет назад я много думал и писал о математике с плавающей запятой. Это было очень интересно, и в процессе исследований я многое узнал, но иногда я долгое время не использую на практике все эти полученные тяжким трудом знания. Поэтому мне необыкновенно приятно каждый раз, когда приходится работать над багом, требующим различных специализированных знаний. В статье я расскажу три истории о багах чисел с плавающей запятой, изученных мной в Chromium.
Часть 1: нереальные ожидания
Баг назывался «JSON некорректно парсит 64-битные Integer»; поначалу это непохоже на проблему с плавающей запятой или браузером, но его отправили на crbug.com, поэтому меня попросили взглянуть. Проще всего воссоздать его, открыв инструменты разработчика Chrome (F12 или Ctrl+Shift+I) и вставив в консоль разработчика следующий код:
json = JSON.parse(‘{“x”: 2940078943461317278}’); alert(json[‘x’]);
Вставка неизвестного кода в окно консоли — замечательный способ оказаться взломанным, но этот код был настолько прост, я смог понять, что он не вредоносный. В отчёте о баге автор любезно указал свои ожидания и реальные результаты:
Читать полностью »
«Особенность» Вконтакте
2020-06-27 в 10:31, admin, рубрики: баг, Вконтакте, геолокация, информационная безопасность, фичаКогда в личные сообщения Вконтакте тебе пишет незнакомый человек, который точно уверен в каком районе ты находишься в данный момент, — приятного мало. Сразу активируется паранойя, и мозг начинает искать возможные способы это объяснить. Мое местоположение ему действительно подсказал ВК. Давайте разберемся каким образом.
«Особенности» Тиндера
2020-06-09 в 8:03, admin, рубрики: баг, информационная безопасность, Социальные сети и сообщества, фича
Informative
Бывают такие баги, которые, вроде как и угрозу безопасности не несут, но вред все-таки могут причинить. Интереснее всего, когда их и править никто не хочет, но и открыто о них нам не говорят. Часто в таких случаях разработчики утверждают, что это не баг, а фича. Именно о двух таких фичах в Тиндере и пойдет речь в посте.
Внимание! Перед тем, как рассказать аудитории Хабра об этих проблемах, мной были предприняты попытки сообщить о них разработчикам через платформу HackerOne. Разработчики посчитали это все “не багами”, а репорты были закрыты в статусе “informative”, дважды!