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

Перепрошивать на self-hosted не стал. Соответственно, для работы по расписанию, ублюдский Xiaomi требует выход в инет. А это Wi-Fi. А пароль от него я забыл, как и от админки роутера. Телефон не позволяет посмотреть сохранённый пароль Wi-Fi сети, тут спасибо Apple за заботу о моей безопасности, конечно. Вроде бы пароль был сохранён и на ноуте… Но ноут был дома, а давать sudo password жене — ну, не доверяю я ей так, как себе, а я и себе-то доверяю не особо.

Методом тыка тоже как-то не очень: перебирать пароли от wi-fi с клавиатуры телефона, вдобавок забыв сеть, от которой не знаешь пароля — вообще так себе идея, а устройств с нормальной клавиатурой и wi-fi не было. Оставалось штурмовать админку роутера, который пережил эволюцию паролей за 1/6 моей жизни и даже 1/3 сознательной жизни, в которой я парюсь за пароли. Год назад давал пароль от админки монтажнику провайдера, чтобы он IPTV костылями настроил, по этой же причине сбрасывать роутер к заводским настройкам — не вариант.

Минут 40 наверное тыкался, злился — ничего не подходит! А потом такой: хм, помню как-то я находил эксплоит к этому роутеру на питоне и запускал его, правда потом обновился, но ведь ревьюил перед запуском, значит ставил pycharm, а значит никто же мне не запретит написать перебор паролей, кек. И такой сажусь, пишу в 9 строчек fuzzer с регистром, 133†$p33k, смешиванием паролей с суффиксами и прочей лабудой, который делает

if requests.get(f'http://admin:{password}@{host}').status_code != 401:
    raise Exception(password)

Ух, хакерман, думаю! Запускаю.

admin / password