Дисклеймер: Статья носит исключительно информационный характер и не является инструкцией или призывом к совершению противоправных действий. Мы здесь все учимся и делимся историями.

Всем привет. Меня зовут Аня (SavAnna) я работаю AppSec в компании ATI.SU и как хобби занимаюсь багбаунти. Багбаунти - отличный способ отдохнуть от своих сервисов и сменить фокус с "защиты" на "нападение". Не всегда баги ищутся целенаправленно - иногда это происходит случайно. Хочу показать, что много странных и простых багов может найти каждый.

В качестве предисловия и благодарности:

Я очень люблю программу багбаунти Timeweb. Искать и взаимодействовать с командой ИБ приятно. Они большие молодцы и очень выросли со старта.

История бага:

При регистрации в сервисах имя пользователя создается автоматически. Появилась фича смены логина. Я завела там баги, к сожалению о них оказалось уже знают. Получила "Дубликаты". Но у меня остался аккаунт с username="NULL".

Прошло пол года с тестирования.

И мне на почту стали приходить письма. Очень много писем.

За несколько дней мой почтовый ящик завалили письмами. Не сразу поняла, что происходит.

Сначала подумала, что разработчики тестируют фикс на аккаунте, указанном в другом моем отчете в этой программе. Приглядевшись поняла, что такое только с аккаунтом с именем "NULL". Проверила по whoami и обнаружила, что сообщения приходят по дате после покупки или продления доменов. Зашла на аккаунт проверить появились ли у меня в управлении эти домены - нет, это были просто сообщения на почту, которые судя по всему дублировались на мой аккаунт.

Вот так случайно, был найден и заведен баг с низким импактом.

В чем была причина?

Разработчик прокомментировал, что там было 2 причины:

  • Портал вместо логина клиента "null" стал отправлял null

  • Недостаток валидации в отправке нотификации

Так как я тестировала сервис методом черного ящика, то могу только предположить, что возможно был системный ящик куда приходили все уведомления, если пользователь по какой-либо из причин не найден и мой аккаунт из-за ошибки в условии и стал таким.

Ссылка на раскрытый репорт:

https://bugbounty.bi.zone/reports/6777

Боян - это уже было

Похожий отчет был сдан в qiwi https://hackerone.com/reports/487296

Так же похожая история произошла с американским исследователем в области безопасности Джозефом Тартаро, когда он решил сделать номер "NULL" своей машине и начал получать штрафы всех машин с не распознанными номерами. https://habr.com/ru/companies/ua-hosting/articles/463859/

В качестве вывода

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

  • Вот такие бывают забавные ошибки валидации

  • "null", "nil", "undefined", "NULL", "None" иногда превращаются в null, nil, undefined, NULL, None и их стоит использовать в названии сущностей при тестировании

Комментарии (10)


  1. akokarev
    09.10.2025 19:21

    В некоторых банках можно логин менять


    1. Squoworode
      09.10.2025 19:21

      - Здесь выдают зарплату? Моя фамилия Итого

      - Нет, здесь собирают налоги. Как, говорите, ваша фамилия?


      1. sunsexsurf
        09.10.2025 19:21

        Итого! Итого! Вот дурак, больше всех получает и какой уже раз не приходит!



  1. playstation_f_a_n
    09.10.2025 19:21

    Ещё бывает 0


    1. TIEugene
      09.10.2025 19:21

      а так же true, false, "", '', `` etc


      1. AlexSpirit
        09.10.2025 19:21

        Я знавал человека по имени Drop Database


        1. green_fenix
          09.10.2025 19:21

          Кошмар веб девелоперов - мистер [object Object]


  1. Golickoff
    09.10.2025 19:21

    Я много лет использую логин null или undefined везде, где могу. Это первое, что я пробую при регистрации, и делаю это как раз в надежде столкнуться с чем-то описанным в статье. За всё время ничего не случилось. Только на сайте одного известного онлайн-магазина электроники лет 5 назад получил уведомление о том, что мой ник был изменён модератором сайта.


  1. altmf
    09.10.2025 19:21

    Вот в такие моменты понимаешь, почему в SQL NULL <> NULL и есть всякие IS DISTINCT FROM