Проблемы Web Безопасности - откуда ноги растут

Поділитися
Вставка
  • Опубліковано 16 січ 2024
  • В этом видео поговорим о проблемах в Web безопасности и откуда растут ноги.
    Поддержать меня на Бусти и получить доступ к доп контенту: boosty.to/mflenov
    Обо мне: www.flenov.ru
    Мой ИТ блог www.flenov.info
    Телеграм: t.me/mflenov
    Twitter: / flenov
    Инстаграм: / mflenov
    Мой просто блог blo.moe

КОМЕНТАРІ • 106

  • @programisli
    @programisli  4 місяці тому

    Обо мне: www.flenov.ru
    Мой ИТ блог www.flenov.info
    Телеграм: t.me/mflenov
    Twitter: twitter.com/flenov

  • @LihMeh
    @LihMeh 4 місяці тому +21

    У нас в лохматых 2005-2010 в ВГУ учили, что такое SQL-инъекция.
    Вспомнилась история: один парень (не помню по какой причине) пропустил зачет по базам данных,
    он взломал факультетский Moodle и поставил себе пятерку.
    Его спалили, пятерку отобрали. А как по мне, он заслужил 5+ :) Знания же профильные показал!

    • @LihMeh
      @LihMeh 4 місяці тому +2

      UPD: не написал сразу: он, как раз, через инъекцию и взломал.
      А еще урок админам - вовремя надо обновлять софт :)

    • @digital-october
      @digital-october 4 місяці тому +1

      Воронежский Государственный?

    • @LihMeh
      @LihMeh 4 місяці тому

      @@digital-october ага, он, родненький

    • @roma9957
      @roma9957 2 місяці тому

      Куда лучше поступать ВИВТ или ВГУ?

  • @Nikegamecentral
    @Nikegamecentral 4 місяці тому +17

    "Я получил ремня, и вы получите ремня" ))

    • @programisli
      @programisli  4 місяці тому +3

      Главное, чтобы он был по безопасности

  • @Hasegi-kr9hu
    @Hasegi-kr9hu 4 місяці тому +6

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

    • @programisli
      @programisli  4 місяці тому +7

      У хорошего пентестера работу отобрать невозможно :). В хорошей компании пентестеры как и админы должны ничего не делать, а сидеть. Это как с врачами - нужно платить за то, чтобы не болели, а не за то, чтобы лечили.

  • @Miron_MipoX
    @Miron_MipoX 4 місяці тому +3

    Смотрю вас с момента как начал изучать программирование и благодаря вам появилось желание в дальнейшем изучать безопасность)

  • @user-to3gy4bk9d
    @user-to3gy4bk9d 4 місяці тому +8

    Здравствуйте! Вы очень правильно думаете. Тоже замечаю, что проблемы с безопасностью у многих компаний. Как у программистов, так и в других сферах. В документации, тоже. И надо соблюдать правила безопасности. Спасибо за видео, интересная идея с обучением и поясами. Надо будет тоже внедрять такие методики.

  • @user-hl4tv8pw1f
    @user-hl4tv8pw1f 4 місяці тому +7

    Замучался с этими "ремнями"😂 Об инъекциях, узнал из "глазами хакера", за что очень благодарен!

    • @programisli
      @programisli  4 місяці тому

      Запутался в ремнях

  • @denielmorozov539
    @denielmorozov539 4 місяці тому +2

    Инетересный вот подход. Заставляет что-то удерживаться у вас на канале

  • @Nikegamecentral
    @Nikegamecentral 4 місяці тому +6

    Закончил в том году ВУЗ по направлению "Программная инженерия". За 4 года обучения рассказали только о SQL-инъекции на предмете "Базы данных". О том, как это решать - не рассказали )

    • @programisli
      @programisli  4 місяці тому +2

      Это печалька

    • @daveyjonesx
      @daveyjonesx 4 місяці тому

      Тоже, чет не помню чтоб кроме инъекций что-то давали по безопасности
      Учил сам, собственно

  • @codesleeprepeat
    @codesleeprepeat 4 місяці тому +3

    33 вопроса о веб-уязвимостях для подготовки к собеседованию. Сложность - средняя, некоторые вопросы с подвохом. Если смогли ответить на большую часть без подсказок, - можете смело идти и получать свой оффер.
    1. В чем разница между Web Cache Deception и Web Cache Poisoning?
    2. Какие два критерия должны быть соблюдены для эксплуатации Session Fixation?
    3. В чем разница между Base64- и Base64URL-кодированием?
    4. Назовите 5 (или более типов) XSS.
    5. Как работает булевое "Error" при эксплуатации Blind SQL Injection?
    6. Что такое Same-Origin Policy (SOP) и как это работает?
    7. Как работает TE.TE вариант HTTP Request Smuggling?
    8. Что такое DOM Clobbering и как его можно использовать для обхода некоторых санитайзеров при эксплуатации XSS?
    9. Опишите, как можно использовать HTTP Parameter Pollution для обхода WAF.
    10. Опишите, что такое IDOR и объясните, чем его устранение отличается от устранения других уязвимостей контроля доступа.
    11. Что такое JWK и JKU, и чем они отличаются?
    12. Что такое бизнес-логика в контексте веб-приложений и чем тестирование уязвимостей бизнес-логики отличается от поиска XSS, SQLi и т. д.?
    13. Приведите пример 3 пэйлоадов, которые можно использовать для идентификации используемого Template Processor при эксплуатации SSTI.
    14. Зачем нужен заголовок Sec-WebSocket-Key?
    15. Что позволяет сделать значение unsafe-inline, если оно используется в директиве script-src?
    16. Приведите пример аутентификации без сохранения состояния и опишите уязвимость этого механизма аутентификации.
    17. Опишите три способа предотвращения CSRF.
    18. Что такое XML parameter entities и какие ограничения они имеют при эксплуатации XXE?
    19. Какие рекомендации вы бы дали клиенту по исправлению DOM Based XSS?
    20. Какие условия должны быть выполнены, чтобы "предотвратить" отправку Preflight-запроса браузером?
    21. Опишите три способа эксплуатации Insecure Deserialization.
    22. Перечислите проверки, которые может выполнять приложение, чтобы убедиться, что файлы не содержат вредоносного содержимого и могут быть загружены только в разрешенные каталоги.
    23. Как работает Mass Assignment и каковы возможные последствия использования такой уязвимости?
    24. Что такое GraphQL batching и как его использование может помочь обойти Rate Limit?
    25. Что такое type juggling и как JSON помогает эксплуатировать уязвимости этого типа?
    26. Опишите три метода, которые можно использовать для обнаружения конфиденциальных данных, предоставляемых приложением.
    27. Опишите атрибуты запроса, которые делают его фактически невосприимчивым к CSRF.
    28. Назовите 5 уязвимостей, которые потенциально могут привести к OS command execution в веб-приложении.
    29. Что такое Prototype Pollution и к каким последствиям может привести эксплуатации в клиентском и в серверном вариантах?
    30. Опишите, как вы будете тестировать уязвимости вертикального контроля доступа в приложении с 20 ролями и более чем 300 различными «функциональными» запросами.
    31. При каких обстоятельствах сохраняется инстанс Session Storage у вкладки?
    32. Как еще можно найти и эксплуатировать XXE, кроме загрузки XML через форму?
    33. Назовите распространенные уязвимости, которые можно обнаружить при сбросе пароля.

  • @Adarfell
    @Adarfell 4 місяці тому +2

    Ох, ну инъекции это же базовый уровень. А какой пласт проблем есть в бизнес логике

    • @programisli
      @programisli  4 місяці тому +1

      Да, и вот Бизнес логика должна быть на первом месте в OWASP, потому что научить защищаться от SQL или Code инъекции легко, научить безопасной логике и архитектуры приложения на много сложнее.

  • @jelooJusta
    @jelooJusta 4 місяці тому +1

    вопрос не в том, откуда растут ноги, а в том, откуда растут руки

  • @user-ug1kx5ke3h
    @user-ug1kx5ke3h 4 місяці тому +1

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

    • @programisli
      @programisli  4 місяці тому

      Надо читать разные источники и авторов. Я читаю просто всё, что попадается мне на глаза

  • @titanovsky
    @titanovsky 4 місяці тому +1

    Спасибо, я с вебом не так часто сталкиваюсь в разработке, но про эти банальные уязвимости, которые легко фиксятся - возьму на заметку.

  • @codesleeprepeat
    @codesleeprepeat 4 місяці тому +1

    Спасибо за видео, круто, зажёг))

  • @AndrewLewman
    @AndrewLewman 4 місяці тому +8

    На счет безопасности: очень странно было слышать что люди настолько не знают об этом. Кажется на рф рынке все бекендеры знают об этом. Сам чуть ли не со школы знаю, кстати, может быть благодаря одной из ваших книг, или подобным увлечениям )

    • @you-are-not-allowed
      @you-are-not-allowed 4 місяці тому +1

      Все бэкендеры знают 😂 очень сомнительно, навидался

    • @al.e.k
      @al.e.k 4 місяці тому

      Допускаю, что с распространением фреймворков и orm как раз про инъекции не все могут знать, потому что пишут запросы, используя orm. А вот те, кто постарше и помнят времена самописных решений, то вот они как раз больше знают про эту уязвимость.

    • @you-are-not-allowed
      @you-are-not-allowed 4 місяці тому

      @@al.e.k я видел что и в орм вставляют переменные от пользователя без подготовки 😃

  • @slavapinchuk4829
    @slavapinchuk4829 4 місяці тому +1

    Спасибо за Ваши мысли. К сожалению практически все компании не развивают специалистов. Ты приходишь, тебе дают гору тасок и на этом всё. Было время, что я верил, что можно найти такое место. Но теперь я просто общаюсь с несколькими энтузиастами и на этом всё.

    • @programisli
      @programisli  4 місяці тому

      Но если не развивать специалистов, то будут проблемы

  • @didjital_ninjja
    @didjital_ninjja 4 місяці тому +2

    Здравствуйте, хотел у вас как у профи поинтересоваться , как и где сейчас лучше учить веб для С# ? Сухую документацию мне кажется мало толку будет читать, по крайней мере у меня так на долго не задерживается информация

    • @programisli
      @programisli  4 місяці тому

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

    • @didjital_ninjja
      @didjital_ninjja 4 місяці тому

      @@programisli У меня просто проблема в том что проект уже немного недоделанный но есть, а вот по теории проседаю очень

  • @johnmayt2191
    @johnmayt2191 4 місяці тому +2

    Я с кибер безопасностью познакомился на первой работе)

  • @user-fk1ei4du5x
    @user-fk1ei4du5x 4 місяці тому +1

    Ладно пояса, а ремни получать на работе - это точно нововведение и бояться будут, когда задница будет переливаться цветами радуги.

  • @antonlogunov7773
    @antonlogunov7773 4 місяці тому +2

    Как думаете? Может многие пренебрегают безопасностью в вебе в связи с большей популярностью front-end по отношению к backend? Где больше важна картинка?

    • @programisli
      @programisli  4 місяці тому

      Не понял вопроса

    • @antonlogunov7773
      @antonlogunov7773 4 місяці тому

      @@programisli, извините, поправил

    • @programisli
      @programisli  4 місяці тому

      Картинка конечно важна, но нет, не связано. Думаю проблема образования

  • @user-kf1si8rj9f
    @user-kf1si8rj9f 4 місяці тому +1

    Здравствуйте, сейчас такое время, что интересно изучать различные сферы программирования. Могли бы вы сказать как вы выбрали свою сферу?

    • @programisli
      @programisli  4 місяці тому +1

      Посмотри на канале есть плейлист Биография, там почти вся моя ИТ жизнь

  • @mr.sergio8773
    @mr.sergio8773 4 місяці тому

    Спасибо за видео. Можете дать ссылку, где можно получить эти пояса по безопасности?

    • @programisli
      @programisli  4 місяці тому

      Это внутренняя вещь для компании, где я работаю

  • @Apollonushko
    @Apollonushko 4 місяці тому +1

    Спасибо. Хочу подписаться на ваш бусти.

    • @programisli
      @programisli  4 місяці тому

      Без проблем, вот тут boosty.to/mflenov

  • @firewatermoonsun
    @firewatermoonsun 4 місяці тому

    Сейчас в основном для веб разработки используют ORM. Там вроде уже проводится sanitazation?

    • @programisli
      @programisli  4 місяці тому

      Смотря какая ORM и как использовать, они же тоже позволяют иногда выполнять чистый SQL

    • @firewatermoonsun
      @firewatermoonsun 4 місяці тому

      Да, точно.

  • @user-fk1ei4du5x
    @user-fk1ei4du5x 4 місяці тому +1

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

    • @programisli
      @programisli  4 місяці тому

      Когда писал? Вообще доходят, вот вчера мне присылали вопрос.

    • @user-fk1ei4du5x
      @user-fk1ei4du5x 4 місяці тому

      @@programisli Возможно доходят, а ответа то нет вообще. Уже не в первой. Я подумал, возможно, проблема внутри.

    • @programisli
      @programisli  4 місяці тому

      Я всем отвечаю. Отправь сейчас письмо. Некоторые говорят, что мои письма попадают в спам

    • @user-fk1ei4du5x
      @user-fk1ei4du5x 4 місяці тому

      @@programisli отправил письмо. в конце письма написал "777"

  • @chikenmacnugget
    @chikenmacnugget 4 місяці тому +1

    Как хорошо что я не поехал учиться в колледж Канадский...

    • @programisli
      @programisli  4 місяці тому +1

      У канадских колледжей есть плюс, можно получить разрешение на работу в Канаде

    • @chikenmacnugget
      @chikenmacnugget 4 місяці тому

      @@programisli сомнительное удовольствие конечно. А так вообще во многих странах так

  • @Ilya-oj5ey
    @Ilya-oj5ey 4 місяці тому +1

    Ну я ещё в 14 году наверное на "тестовых" Сайтах базы ради интереса сливал инъекциями 😅

  • @techbuterbrod
    @techbuterbrod 4 місяці тому +1

    Работал в банке, который входит в топ 20 в России. В CRM системе передавались данные карт клиентов в JSON, который можно было просто в консоли браузера посмотреть. Ну это то, что мне больше всего запомнилось, а так все дырявое насквозь. Меня это всегда удивляло, т.к. в банке часто программисты сидели без задач и занимались ерундой, хотя прям кладезь была всего, что можно улучшить. Я так и не понял за 2 года работы, почему никто этим не занимался, имея в штате специалистов и свободные ресурсы.

    • @programisli
      @programisli  4 місяці тому

      Чтобы этого не было, админы должны настроить WAF (Web Application Firewall) и на нём блокировать всё, что похоже на кредитную карту - 16 цифр, которые начинаются на определённую последовательность. У нас именно так и было. Да, было много ложных срабатываний, но лучше ложное срабатывание, чем отсутствие срабатывания вовсе.

  • @grosseameise
    @grosseameise 4 місяці тому +1

    какие курсы порекомендуете по безопасности?

    • @programisli
      @programisli  4 місяці тому +1

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

    • @grosseameise
      @grosseameise 4 місяці тому

      @@programisli 2:22 - "Я сам побежал и сдал эти курсы" - это внутрениие курсы?

  • @Adarfell
    @Adarfell 4 місяці тому

    В вашей компании есть application security департамент или хотя бы кто-то кто этим занимается фул тайм?

    • @programisli
      @programisli  4 місяці тому +1

      Да, но компания огромная, тысячи программистов и за всеми не уследишь.

    • @Adarfell
      @Adarfell 4 місяці тому

      @@programisli А ssdlc реализуете если не секрет? В плане sast, dast и тд

  • @y5rdg
    @y5rdg 4 місяці тому +1

    Спасибо

  • @ManabovGroup
    @ManabovGroup 4 місяці тому +2

    лайк с первой секунды!

  • @DreamingDolphing
    @DreamingDolphing 4 місяці тому +1

    Не обучают безопасному программированию, потому что тема очень обширная и требует отдельного курса, а когда новичка учат программировать, он уже перегружен информацией. Если преподаватель грамотный, то он покажет, что "вот так делать не нужно, потому что небезопасно", но это из головы вылетит. Кроме того во фронтенд веб-разработки большая часть безопасного кода достигается тем, что просто изначально надо писать "правильно".

    • @programisli
      @programisli  4 місяці тому

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

  • @ulysses.apokin
    @ulysses.apokin 4 місяці тому +2

    Я учусь на последнем курсе мехатроники и робототехники. Понимаю, что это не 100% ИТ, но всё же программирование это одна из основополагающих вещей в этой специализации наравне с электроникой, электротехникой и механикой.
    Опишу суть проблемы. У нас было три предмета посвященных программированию. Программирование и алгоритмизация, ООП и микропроцессорная электроника. Все длились по одному семестру.
    На ПиА начали сразу учить Си, что максимально бестолково. Потому что невозможно объяснить человеку который программирует впервые, что такое указатель. Операция ввода-вывода понадобятся на первом занятии, в Си нет передачи параметров по ссылке, и объяснить человеку почему prtinf без & а scanf c & невозможно. И остается это объяснять сакраментальным "просто сделайте и запомните, объясним позже". Или что еще хуже и что было у нас, применять cin и cout, после чего разница между двумя очень разными концептуальными языками Си и Си++ стирается. В Си + - * = это вообще ОПЕРАЦИИ, когда в Си++ это операторы. И соответственно вместе с тем в Си каким-то образом проникли vector и list. И всегда применялся vector. Почему? Потому что он проще))) И мало чего, в процессе изучения Си абсолютно теряется разница между функцией и процедурой (процедур в Си нет), и соответственно теряется понятие побочного эффекта. И код становится еще более ужасен.
    Дальше пошел ООП, соответственно с Си++ и задачей курсовой было построение программы с графическим интерфейсом. Предмет был бомба конечно. Вообще, чтобы построить графический интерфейс нужно изучать другую парадигму, называемую СОБЫТИЙНО-УПРАВЛЯЕМОЕ ПРОГРАММИРОВАНИЕ, никто не объяснял. Поэтому то и дело, программы зависали в обработчиках))) Да и парадигмы ООП и АТД перемешались в кучу. Инкапсуляция почему-то стала прерогативой ООП) А ООП стало императивной парадигмой. Привет ПРИСВАИВАНИЮ, которое наоборот противоречит ООП. Мы же делаем предположения об объекте)) а в ООП объект это черный ящик. Да и в предмет еще запихнули время жизненного цикла ПО, диаграммы, протоколы и кучу всего. Так что должны были успеть все, а успели ничего. Я единственный с потока кто сделал курсач сам. Спасибо Godot который позволяет написать графику на коленке.
    Микропроцессорная техника. Тут мы изучали ассемблер и строение микропроцессорной техники на основе МК 51-й серии (например intel8051). Это пожалуй единственный предмет к которому нет претензий.
    UPD: Благодаря всему тому, что "научили" до этого времени, работать с одногруппниками были бесполезно. Например, к сожалению, им не удалось объяснить, что в ассемблере нету переменных и P1 equ r2 это директива предпроцессора)))
    В общем, у нас уровень преподавания программирования просто слабый. И стать программистом можно только вопреки, а не благодаря. Конечно, чтобы стать макакой с javascript этого вполне хватит. Но для такой сложной области как мехатроника точно нет.

    • @Hello_there_777
      @Hello_there_777 4 місяці тому

      "Pure" C code using Reference Parameter! (aka pointers)
      ( int * x)

    • @daveyjonesx
      @daveyjonesx 4 місяці тому

      Проще было идти джейсоны гонять

    • @cuniapapa5370
      @cuniapapa5370 4 місяці тому

      О, фаната Столярова сразу узнал

    • @ulysses.apokin
      @ulysses.apokin 4 місяці тому

      @@cuniapapa5370 не фанат конечно. Не сотвори себе кумира. Но это самое толковое что я читал

  • @Kirill-nd3qv
    @Kirill-nd3qv 4 місяці тому

    Интересная позиция: нужно знать xss и sql injection перед тем как писать код) Прежде чем писать код нужно ещё знать архитектуру, ну так чтобы наверняка)

    • @programisli
      @programisli  4 місяці тому

      Архитектуру всё же решают синьоры. Джуниорыуже следуют тому, что сказали старшие

  • @zuowa
    @zuowa 4 місяці тому

    Слышал что при помощи SQL инъекций вводят синтаксический сахар, и база данных может стать вязкой.

  • @ronnie_rocketo
    @ronnie_rocketo 4 місяці тому +1

    Футболка - ТОП :)

    • @programisli
      @programisli  4 місяці тому

      Кепочку я тут вблизи показывал ua-cam.com/video/XIHUfwP60i0/v-deo.html

  • @roma2k
    @roma2k 4 місяці тому +3

    Робин брось таблицу!

    • @roma2k
      @roma2k 4 місяці тому

      у меня была мысль сына так назвать (Robin '); drop table ;--, но у меня родилась дочь

    • @roma2k
      @roma2k 4 місяці тому

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

  • @my_coolheart
    @my_coolheart 4 місяці тому

    Пошел на бусти, а то как-то стыдно стало

  • @benzed1618
    @benzed1618 4 місяці тому +3

    OOOOOOOOOOOOOOOOOOOOOOoooooooooooooooo

  • @Thisamma72
    @Thisamma72 4 місяці тому

    А куда это, пропал КиберДед кстати. ?!!

    • @programisli
      @programisli  4 місяці тому +1

      Да ещё выкладывает видосы

    • @Thisamma72
      @Thisamma72 4 місяці тому

      @@programisli Хм, а чего это не приходят уведомления. Да Ютуб, чудные дела твои!! ))

    • @olegivanov9607
      @olegivanov9607 4 місяці тому

      он болтун, сплошное самовосхваление и фантазии.

  • @gospozhaTochko
    @gospozhaTochko 4 місяці тому +1

    был курс НТС (надежность технологических систем), вел препод по фамилии Троян, при чем ему уже под 90 подходило

    • @programisli
      @programisli  4 місяці тому +1

      А у меня был по экономике преподаватель Владимир Ильич

    • @gospozhaTochko
      @gospozhaTochko 4 місяці тому

      @@programisli я с Ильичем больше познакомилась на политологии, ведь самое четкое определение "политика - это концентрированное выражение экономики" :)

  • @Edvard-Aliev
    @Edvard-Aliev 4 місяці тому +1

    Привет, сейчас все проще, те кто юзают Laravel не закрывают .env а там все данные о сайте 😂😂😂 стало проще ломать 😂😂😂

    • @programisli
      @programisli  4 місяці тому

      Печалька

    • @programisli
      @programisli  4 місяці тому

      Он же не должен быть в папке паблика и не должен быть доступен из web

    • @aikivlad
      @aikivlad 4 місяці тому

      А разве, переменные окружения нельзя забирать из контейнера, чтобы не создавать этот файлик физически на проде, как это делается в том же go?

  • @fromillia
    @fromillia 2 місяці тому

    Говорил бы киберплемяши. Ты ж не кибердед.

    • @programisli
      @programisli  2 місяці тому

      Есть в ютубе Кибердед, который начинает свои видео так

  • @user-yi5nh6et5s
    @user-yi5nh6et5s 4 місяці тому +2

    Первый

  • @user-nk8wq4sx1x
    @user-nk8wq4sx1x 4 місяці тому +1

    Ты издеваешся?! Вот вы все кто ссылаются на учебные заведения вы издеваетесь?! Я как во сне где все свихнулись. НЕ УЧАТ В УЧЕБНЫХ ЗАВЕДЕНИЯХ ничему, откровенно слабые очень слабые преподы там и студентам это так вяло интересно что только палкой бить. Если так получается что выходят годные студенты то это либо сам студент бриллиант либо это вот прям ВУЗ конкретный в котором есть сильные преподы, но это нужно конкретно знать что за ВУЗ и по фамилиям преподов, чтобы ловить оттуда студентов сразу на собеседование. В остальной массе, да, вот так..

    • @programisli
      @programisli  4 місяці тому

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

  • @AndrewLewman
    @AndrewLewman 4 місяці тому

    Кибердед показался ватнейшим

  • @antonsalatskyy
    @antonsalatskyy 4 місяці тому

    🇺🇦