Як захиститись від мікро кібератак
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
Реєструйтесь на програму Information and Cybersecurity management
від SET University - bit.ly/3Gxa12n
дякую, пішов шукати сайти без екранування, сподіваюся буде весело)
Дуже актуальне відео та загалом вивчення баз даних , особливо після подій з Київстаром та не тільки...
Гарно пояснено важливі речі) Думаю деякі розробники про це дійсно не задумуються, а слід)
test
нещодавно задали це питання на захисті лаби й тут виходить відео на цю тему так ще й українською. дуже приємно та вчасно
Дякую за відео та вашу працю! Слава Україні!
Відос топ, все подивився, від ін'єкцій не захистився
Дуже цікаве відео, не так давно я почав свій шлях в використанні SQL та створенні баз даних і був радий дізнатись про такі вразливості та головне як від них захиститись. Дякую за вашу працю!
Дякуємо за роботу, більше відео про секюріті, більше!
прошу розказати про це Київстару🥲
Дуже цікавий випуск та добрі пояснення. Дякую Вам, Алексе!
Чудове відео. Продовжуй робити те що робиш!!!
дуже дякую за відео, завжди хотів глянути як це виглядає
Чудовий контент, а для елюстрацій рекомендую спробувати excalidraw
Дякую, спробую. Я зараз в процесі підшуковування хороших інструментів
Дякую, гарний інструмент
Відео топове бажаю удачі
Ідея розповідати про основи безпеки в мене вже давно крутилася, але все ніяк руки не доходили створити блог...
Можна почати з паролів, що мають містити &%$^@ і мінятися кожні х днів, про 2-factor vs 2-step authentication, про переваги і недоліки біометрії, симметрична і асимметрична криптографія... там цілу рубрику можна вести довго і пізнавально, далеко не лише розробникам.
Дякую
на кожні типові мови є готові бібліотеки для взаємодії з бд не через голу SQL, а через синтаксичний цукор типу db->update(table, [key>value])
саме те для самописних проектів, і в ногу не стрелиш, і менше нечитабельного коду
давай бiльше вiдео про security
Класне відео
Цікаве відео, дякую
Чекаю відео, як не лягти як Київстар
Малюнки сам робив?) Дуже файні😂
Так, перші спроби ілюстрацій)
@@alex-kovalchuk бекенд програміста завжди видно по малюнках. Сам так малюю 😂
Хм. Дійсно пишучи свою сторінку навіть не подумав про захист від такої загрози😅
Підскажіть, чи захищає Spring від sql ін'єкцій? Наприклад, якщо використовувати jpa repository для запису данних в базу.
Так, Spring як і будь які інші orm доволі гарно захищають від таких вразливостей.
Там треба дуже постаратись щоб вдалось написати код вразливий до sql інєкцій
Аж дивно як це відео злилося з подіями київстару. Ми щось про Олексія не знаємо???🤔😅
Ви користуєтеся Arc Browser? Просто цікаво:)
Так, недавно пересів на нього. Покищо дуже подобається
коли відео про те, як правильно вимовляти SQL
Якось неправильно запам'ятав і постійно не так кажу. В сценарії ж англійською писав тому підказки не було 🥲
@@alex-kovalchuk це все добре, але як то правильно вимовляти?
Еск'юель
@@tireksik7193секʼюель
@@user-ih7qt2mh9h одні говорять ес кю ель, інші сіквель
Порадьте будь ласка переносний роутер, зараз це актуально! Щоб із сімки роздавав вайфай коли мобільний телефон не тягне чи інші нюанси...
Оце було дуже пізнавально (ні, я не айтішник)
а я то думав тут буде password = password, а тут нічосі інфа!!😮
Шкода, що Київстар не встиг подивитися це відео
Як що до ORM? Це хіба не рішення?
ORM це рішення, але тоді сама ORM пише запит замість тебе що призводить до меншого контролю над виглядом запиту.
Тому часто високонавантажені сервіси не використовують orm принаймні не всюди
@@alex-kovalchuk тобто це потрібно що б SQL запит був чіткішим? І оптимальнішим? І на нього витрачалося менше часу? Я особисто використовую Sequelize, то навіть складні запити з джоїнами і фільтрами і всяким різним, на виході він формує нормальний запит) принаймні я не бачу що там оптимізовувати
Хоча відео і несе в собі базову(примітивну) інформацію і розраховане на нубиків, проте сам ролик інформативний і якісний. Новачки мають його зацінити.
я новачок і юзаю монгу) маю іммунітет до цих ін'єкцій?
Немає sql БД - немає sql ін'єкцій. Щоправда, тепер в тебе вразливість до NoSQL ін'єкцій 😅
це ж треба знати назву бази та коллекції і як вона там зроблена з якими назвами)) @@alex-kovalchuk
Часто такі таблиці як users, orders, comments однакові і тому це методом проб ламають
Чому сік'юель якщо це ЕСк'юель. Вухо ріже. Це як Гугл читати гоогл
Є різні варіанти вимовлення SQL (/ˌɛsˌkjuːˈɛl/ або /ˈsiːkwəl/)
SQL читається як "ЕС-к'ю-ел". "сі-к'ю-ел" це щось типу CQL (бозна, що воно таке).
Навіть я зрозумів
Як в 2023 році написати код вразливим для sql ін'кцій?
Ви згадали rust, там сама популярна бібліотека для спілкування з бд - sqlx, здавалося б, в цій бібліотеці пишеш прямі квері і підставляєш значення в них. А по-факту, система настільки захищена від них, що по запиту "sqlx sql injection", гугль майже нічого не знаходить😂
А от якщо дядько вирішив писати по голому залізу на расті комунікатор з бд, то цей дядько, напевно, буде самим розумним в кімнаті, і про таке не забуде😅
Ну якщо постаратись можна написати вразливий код. Наприклад
let query = format!("SELECT * FROM users WHERE name = '{}'", user_input);
let rows = sqlx::query(&query).fetch_all(pool).await.unwrap();
Чудово, залишилося ще вигадати, для чого нам бекенд на Rust...
@@pavelognev108 робота з бд може відбуватися не тільки для бекенду.
Та і скільки серверів на с++ написано? Для чого?
Бо хтось вирішив що так краще)
Думаю, тут так само буде)
Це плач душі. Це приклад як клепаються армії full-stack розробників, які роблять весь додаток швидко і навіть самі не розуміють трагедії що написали. Які запити до бази даних з фронта? Про що взагалі йде мова. Про Rest взагалі ніхто нічого не чув. Про принципи SOLID при побудові API теж ніхто не чув. Та взагалі при побудові будь яких додатків не має бути прив'язки до конкретних технологій. Фронт має передавати просто в параметрах запиту ту інфу яку треба зберегти. Бекенд має бути побудований настільки абстрактно що лише певний клас знає що під капотом mysql чи щось інше.
Недавно бачив презентацію якогось фронтенд фреймворка де на слайдах sql запит формувався прямо на стороні клієнта. Типу при натисканні на кнопку робимо інсерт
Тобто в джанґо з csrf я взагалі можу про це не паритись?
csrf з ін'єкцією не зв'язані, але так. Django займається екрануванням вхідних даних. Якщо не обходиш фреймворк, то все цілком захищено
Так це київстар через це впав?
Дуже сподіваюсь що не через мій відосик
А взагалі механіка злому в Київстар суттєво складніша ніж те що я описував. У них немає таких дитячих вразливостей
а може не потрібно було пару років тому жлобитись на Bug Bounty?
там багаторівнева атака, включаючи інсайдерів в самій компанії
якщо б розетка використовувала sql базу для зберігання товарів, вона б відповідала на ваші запити приблизно.. ніколи
Якщо правильно налаштувати індекси, то для PostgreSQL об'єми розетки не важко перетравити. Той ж uber працює на MySQL
Так може, все ж таки, різниця в тому, використовувати дані які зберігаються в оперативній пам'яті і на диску?
В принципі, in-memory sql баз данних окрім H2, майже не існує.
(А h2 обганяє абсолютно всі бази данних взагалі, руйнуючі відразу два міфи: 1. Sql бази данних повільн, 2. Java повільна)
Сам убер використовує редіс для "швидкого доступу", будь-ласка, редіс це виключно in-memory key-value база данних. Живе вона тільки в оперативній пам'яті, ніколи ннікуди не зберігаючи своїх значення після закінчення життя додатку🤷♀️.
Звичайно вона швидка.
@@12MrRetro 👀👀а до чого тут взагалі in-memory. Ми спілкувалися щодо Sql/NoSql баз даних. І як існування h2 руйнує міф, що Sql бази данних повільні? Вибачте, але ви говорите незв'язані між собою та дискусією речі. Ваш коментар не має сенсу.
Ти не повіриш, але у нас навіть таблиця є з назвою goods в базі PostgreSQL. Насправді все побудовано на мікросервісах і кожна команда пише на своїй мові. Використовується PHP, Golang, C#, JS, Lua (це принаймі що я чув)
не сql а SQL - по разному же произносится - си и эс, очень режет слух
прошу розказати про це Київстару🥲
А з чого ти взяв, що їх взламали з подомогою SQL injection? =)