Як захиститись від мікро кібератак

Поделиться
HTML-код
  • Опубликовано: 1 июн 2024
  • SQL ін'єкція це один з найпопулярніших способів зламувати сайти. Тому в цьому відео я покажу як вона працює і як від неї захиститись на прикладі простого блогу з коментарями спробую зламати сайт, а потім захистити його від таких зломів. Але перед цим треба коротко пройтись по теорії
    Реєструйтесь на програму Information and Cybersecurity management
    від SET University - bit.ly/3Gxa12n
    00:00 Вступ
    01:35 Що таке база даних
    03:49 Реклама
    04:30 Приклад sql ін'єкції
    06:50 Захист від sql ін'єкції
    08:05 Приклад XSS вразливості
    10:12 Висновок
    Станьте спонсором цього каналу, щоб отримувати бонуси:
    / @alex-kovalchuk
    Альтернативний спосіб підтримки - www.buymeacoffee.com/alexkova...
    Telegram - t.me/AlexKovalchukTg
    З питань співпраці і реклами пишіть - t.me/Kelli_Nixe або alex.kovalchuk.media@gmail.com

Комментарии • 91

  • @alex-kovalchuk
    @alex-kovalchuk  5 месяцев назад +4

    Реєструйтесь на програму Information and Cybersecurity management
    від SET University - bit.ly/3Gxa12n

  • @mgr818
    @mgr818 5 месяцев назад +19

    дякую, пішов шукати сайти без екранування, сподіваюся буде весело)

  • @KyoriUA
    @KyoriUA 5 месяцев назад +9

    Дуже актуальне відео та загалом вивчення баз даних , особливо після подій з Київстаром та не тільки...

  • @vhubash
    @vhubash Месяц назад

    Гарно пояснено важливі речі) Думаю деякі розробники про це дійсно не задумуються, а слід)

  • @user-ol5pw7bx9h
    @user-ol5pw7bx9h 5 месяцев назад +2

    test

  • @goosee980
    @goosee980 5 месяцев назад +1

    нещодавно задали це питання на захисті лаби й тут виходить відео на цю тему так ще й українською. дуже приємно та вчасно

  • @asumptio
    @asumptio 5 месяцев назад +2

    Дякую за відео та вашу працю! Слава Україні!

  • @yegormi3697
    @yegormi3697 5 месяцев назад +6

    Відос топ, все подивився, від ін'єкцій не захистився

  • @MIDIT
    @MIDIT 5 месяцев назад

    Дуже цікаве відео, не так давно я почав свій шлях в використанні SQL та створенні баз даних і був радий дізнатись про такі вразливості та головне як від них захиститись. Дякую за вашу працю!

  • @savin55589
    @savin55589 5 месяцев назад

    Дякуємо за роботу, більше відео про секюріті, більше!

  • @yuriymartsenyuk4777
    @yuriymartsenyuk4777 5 месяцев назад +5

    прошу розказати про це Київстару🥲

  • @user-yy9ov2jc2n
    @user-yy9ov2jc2n 5 месяцев назад

    Дуже цікавий випуск та добрі пояснення. Дякую Вам, Алексе!

  • @user-up6vk4gh3o
    @user-up6vk4gh3o 5 месяцев назад +2

    Чудове відео. Продовжуй робити те що робиш!!!

  • @DmytroSemchuk
    @DmytroSemchuk 5 месяцев назад +2

    дуже дякую за відео, завжди хотів глянути як це виглядає

  • @headsmanc0de
    @headsmanc0de 5 месяцев назад +4

    Чудовий контент, а для елюстрацій рекомендую спробувати excalidraw

    • @alex-kovalchuk
      @alex-kovalchuk  5 месяцев назад +1

      Дякую, спробую. Я зараз в процесі підшуковування хороших інструментів

    • @So0r
      @So0r 5 месяцев назад +2

      Дякую, гарний інструмент

  • @Elisey1
    @Elisey1 5 месяцев назад +2

    Відео топове бажаю удачі

  • @pavelognev108
    @pavelognev108 5 месяцев назад +3

    Ідея розповідати про основи безпеки в мене вже давно крутилася, але все ніяк руки не доходили створити блог...
    Можна почати з паролів, що мають містити &%$^@ і мінятися кожні х днів, про 2-factor vs 2-step authentication, про переваги і недоліки біометрії, симметрична і асимметрична криптографія... там цілу рубрику можна вести довго і пізнавально, далеко не лише розробникам.

  • @nepster-forever
    @nepster-forever 5 месяцев назад

    Дякую

  • @Andriy063
    @Andriy063 5 месяцев назад

    на кожні типові мови є готові бібліотеки для взаємодії з бд не через голу SQL, а через синтаксичний цукор типу db->update(table, [key>value])
    саме те для самописних проектів, і в ногу не стрелиш, і менше нечитабельного коду

  • @robotiksillya8363
    @robotiksillya8363 5 месяцев назад

    давай бiльше вiдео про security

  • @user-hd3td7hu1r
    @user-hd3td7hu1r 5 месяцев назад

    Класне відео

  • @ivanzrobok7148
    @ivanzrobok7148 5 месяцев назад

    Цікаве відео, дякую

  • @dethwing907
    @dethwing907 5 месяцев назад +1

    Чекаю відео, як не лягти як Київстар

  • @funkdefied
    @funkdefied 5 месяцев назад +3

    Малюнки сам робив?) Дуже файні😂

    • @alex-kovalchuk
      @alex-kovalchuk  5 месяцев назад +3

      Так, перші спроби ілюстрацій)

    • @ElMatadoros
      @ElMatadoros 5 месяцев назад +1

      ​@@alex-kovalchuk бекенд програміста завжди видно по малюнках. Сам так малюю 😂

  • @TINY_CONSTRUCTION
    @TINY_CONSTRUCTION 5 месяцев назад +1

    Хм. Дійсно пишучи свою сторінку навіть не подумав про захист від такої загрози😅

  • @user-nb5en8wj5r
    @user-nb5en8wj5r 5 месяцев назад

    Підскажіть, чи захищає Spring від sql ін'єкцій? Наприклад, якщо використовувати jpa repository для запису данних в базу.

    • @alex-kovalchuk
      @alex-kovalchuk  5 месяцев назад

      Так, Spring як і будь які інші orm доволі гарно захищають від таких вразливостей.
      Там треба дуже постаратись щоб вдалось написати код вразливий до sql інєкцій

  • @sergeyvoroshilo3860
    @sergeyvoroshilo3860 5 месяцев назад +1

    Аж дивно як це відео злилося з подіями київстару. Ми щось про Олексія не знаємо???🤔😅

  • @kruganiumplay
    @kruganiumplay 5 месяцев назад

    Ви користуєтеся Arc Browser? Просто цікаво:)

    • @alex-kovalchuk
      @alex-kovalchuk  5 месяцев назад +1

      Так, недавно пересів на нього. Покищо дуже подобається

  • @user-ih7qt2mh9h
    @user-ih7qt2mh9h 5 месяцев назад +27

    коли відео про те, як правильно вимовляти SQL

    • @alex-kovalchuk
      @alex-kovalchuk  5 месяцев назад +3

      Якось неправильно запам'ятав і постійно не так кажу. В сценарії ж англійською писав тому підказки не було 🥲

    • @user-ih7qt2mh9h
      @user-ih7qt2mh9h 5 месяцев назад +1

      @@alex-kovalchuk це все добре, але як то правильно вимовляти?

    • @tireksik7193
      @tireksik7193 5 месяцев назад +15

      Еск'юель

    • @enigmatics-lives
      @enigmatics-lives 5 месяцев назад +2

      @@tireksik7193секʼюель

    • @pruchay
      @pruchay 5 месяцев назад

      ​@@user-ih7qt2mh9h одні говорять ес кю ель, інші сіквель

  • @olegx5979
    @olegx5979 5 месяцев назад

    Порадьте будь ласка переносний роутер, зараз це актуально! Щоб із сімки роздавав вайфай коли мобільний телефон не тягне чи інші нюанси...

  • @smugasta
    @smugasta 5 месяцев назад

    Оце було дуже пізнавально (ні, я не айтішник)

  • @z.denchi
    @z.denchi 5 месяцев назад

    а я то думав тут буде password = password, а тут нічосі інфа!!😮

  • @MasterSergius
    @MasterSergius 5 месяцев назад

    Шкода, що Київстар не встиг подивитися це відео

  • @Pidvysotskyi_Oleksandr
    @Pidvysotskyi_Oleksandr 5 месяцев назад

    Як що до ORM? Це хіба не рішення?

    • @alex-kovalchuk
      @alex-kovalchuk  5 месяцев назад +1

      ORM це рішення, але тоді сама ORM пише запит замість тебе що призводить до меншого контролю над виглядом запиту.
      Тому часто високонавантажені сервіси не використовують orm принаймні не всюди

    • @Pidvysotskyi_Oleksandr
      @Pidvysotskyi_Oleksandr 5 месяцев назад

      @@alex-kovalchuk тобто це потрібно що б SQL запит був чіткішим? І оптимальнішим? І на нього витрачалося менше часу? Я особисто використовую Sequelize, то навіть складні запити з джоїнами і фільтрами і всяким різним, на виході він формує нормальний запит) принаймні я не бачу що там оптимізовувати

  • @aldwynanoma9074
    @aldwynanoma9074 5 месяцев назад

    Хоча відео і несе в собі базову(примітивну) інформацію і розраховане на нубиків, проте сам ролик інформативний і якісний. Новачки мають його зацінити.

  • @BendermoneyCorp
    @BendermoneyCorp 5 месяцев назад

    я новачок і юзаю монгу) маю іммунітет до цих ін'єкцій?

    • @alex-kovalchuk
      @alex-kovalchuk  5 месяцев назад +1

      Немає sql БД - немає sql ін'єкцій. Щоправда, тепер в тебе вразливість до NoSQL ін'єкцій 😅

    • @BendermoneyCorp
      @BendermoneyCorp 5 месяцев назад

      це ж треба знати назву бази та коллекції і як вона там зроблена з якими назвами)) @@alex-kovalchuk

    • @alex-kovalchuk
      @alex-kovalchuk  5 месяцев назад +2

      Часто такі таблиці як users, orders, comments однакові і тому це методом проб ламають

  • @artembazdyrev
    @artembazdyrev 5 месяцев назад +2

    Чому сік'юель якщо це ЕСк'юель. Вухо ріже. Це як Гугл читати гоогл

    • @pruchay
      @pruchay 5 месяцев назад +1

      Є різні варіанти вимовлення SQL (/ˌɛsˌkjuːˈɛl/ або /ˈsiːkwəl/)

  • @artross7279
    @artross7279 5 месяцев назад

    SQL читається як "ЕС-к'ю-ел". "сі-к'ю-ел" це щось типу CQL (бозна, що воно таке).

  • @user-hl3iv7ly6f
    @user-hl3iv7ly6f 5 месяцев назад

    Навіть я зрозумів

  • @12MrRetro
    @12MrRetro 5 месяцев назад +1

    Як в 2023 році написати код вразливим для sql ін'кцій?
    Ви згадали rust, там сама популярна бібліотека для спілкування з бд - sqlx, здавалося б, в цій бібліотеці пишеш прямі квері і підставляєш значення в них. А по-факту, система настільки захищена від них, що по запиту "sqlx sql injection", гугль майже нічого не знаходить😂
    А от якщо дядько вирішив писати по голому залізу на расті комунікатор з бд, то цей дядько, напевно, буде самим розумним в кімнаті, і про таке не забуде😅

    • @alex-kovalchuk
      @alex-kovalchuk  5 месяцев назад

      Ну якщо постаратись можна написати вразливий код. Наприклад
      let query = format!("SELECT * FROM users WHERE name = '{}'", user_input);
      let rows = sqlx::query(&query).fetch_all(pool).await.unwrap();

    • @pavelognev108
      @pavelognev108 5 месяцев назад

      Чудово, залишилося ще вигадати, для чого нам бекенд на Rust...

    • @12MrRetro
      @12MrRetro 5 месяцев назад

      @@pavelognev108 робота з бд може відбуватися не тільки для бекенду.
      Та і скільки серверів на с++ написано? Для чого?
      Бо хтось вирішив що так краще)
      Думаю, тут так само буде)

  • @vitaliyc1702
    @vitaliyc1702 5 месяцев назад

    Це плач душі. Це приклад як клепаються армії full-stack розробників, які роблять весь додаток швидко і навіть самі не розуміють трагедії що написали. Які запити до бази даних з фронта? Про що взагалі йде мова. Про Rest взагалі ніхто нічого не чув. Про принципи SOLID при побудові API теж ніхто не чув. Та взагалі при побудові будь яких додатків не має бути прив'язки до конкретних технологій. Фронт має передавати просто в параметрах запиту ту інфу яку треба зберегти. Бекенд має бути побудований настільки абстрактно що лише певний клас знає що під капотом mysql чи щось інше.

    • @alex-kovalchuk
      @alex-kovalchuk  5 месяцев назад

      Недавно бачив презентацію якогось фронтенд фреймворка де на слайдах sql запит формувався прямо на стороні клієнта. Типу при натисканні на кнопку робимо інсерт

  • @13137713
    @13137713 4 месяца назад

    Тобто в джанґо з csrf я взагалі можу про це не паритись?

    • @alex-kovalchuk
      @alex-kovalchuk  4 месяца назад

      csrf з ін'єкцією не зв'язані, але так. Django займається екрануванням вхідних даних. Якщо не обходиш фреймворк, то все цілком захищено

  • @bioplanet8436
    @bioplanet8436 5 месяцев назад

    Так це київстар через це впав?

    • @alex-kovalchuk
      @alex-kovalchuk  5 месяцев назад

      Дуже сподіваюсь що не через мій відосик
      А взагалі механіка злому в Київстар суттєво складніша ніж те що я описував. У них немає таких дитячих вразливостей

    • @kostyiklocoja
      @kostyiklocoja 5 месяцев назад

      а може не потрібно було пару років тому жлобитись на Bug Bounty?

    • @Andriy063
      @Andriy063 5 месяцев назад

      там багаторівнева атака, включаючи інсайдерів в самій компанії

  • @ll1rro
    @ll1rro 5 месяцев назад +2

    якщо б розетка використовувала sql базу для зберігання товарів, вона б відповідала на ваші запити приблизно.. ніколи

    • @alex-kovalchuk
      @alex-kovalchuk  5 месяцев назад +3

      Якщо правильно налаштувати індекси, то для PostgreSQL об'єми розетки не важко перетравити. Той ж uber працює на MySQL

    • @12MrRetro
      @12MrRetro 5 месяцев назад

      Так може, все ж таки, різниця в тому, використовувати дані які зберігаються в оперативній пам'яті і на диску?
      В принципі, in-memory sql баз данних окрім H2, майже не існує.
      (А h2 обганяє абсолютно всі бази данних взагалі, руйнуючі відразу два міфи: 1. Sql бази данних повільн, 2. Java повільна)

    • @12MrRetro
      @12MrRetro 5 месяцев назад +2

      Сам убер використовує редіс для "швидкого доступу", будь-ласка, редіс це виключно in-memory key-value база данних. Живе вона тільки в оперативній пам'яті, ніколи ннікуди не зберігаючи своїх значення після закінчення життя додатку🤷‍♀️.
      Звичайно вона швидка.

    • @ll1rro
      @ll1rro 5 месяцев назад

      @@12MrRetro 👀👀а до чого тут взагалі in-memory. Ми спілкувалися щодо Sql/NoSql баз даних. І як існування h2 руйнує міф, що Sql бази данних повільні? Вибачте, але ви говорите незв'язані між собою та дискусією речі. Ваш коментар не має сенсу.

    • @oleksandr-petrovych
      @oleksandr-petrovych 5 месяцев назад

      Ти не повіриш, але у нас навіть таблиця є з назвою goods в базі PostgreSQL. Насправді все побудовано на мікросервісах і кожна команда пише на своїй мові. Використовується PHP, Golang, C#, JS, Lua (це принаймі що я чув)

  • @maxradba
    @maxradba 5 месяцев назад +1

    не сql а SQL - по разному же произносится - си и эс, очень режет слух

  • @yuriymartsenyuk4777
    @yuriymartsenyuk4777 5 месяцев назад +2

    прошу розказати про це Київстару🥲

    • @asumptio
      @asumptio 5 месяцев назад

      А з чого ти взяв, що їх взламали з подомогою SQL injection? =)