SQL Injection - теория и примеры

  Рет қаралды 21,711

Програмысли Влог

Програмысли Влог

Жыл бұрын

Поддержать меня: boosty.to/mflenov
В прошлом видео я поспешил рассказать и показать SQL Injection на практике, а в этом видео я хочу сделать шаг назад и поговорить чуть больше о теории и больше рассмотреть небольших примеров.
Список моих книг: www.flenov.info/books/index
Обо мне: www.flenov.ru
Мой ИТ блог www.flenov.ru и www.flenov.info
Мой просто блог blo.moe
Twitter: / flenov
Инстаграмм: / mflenov
Телеграмм: t.me/mflenov

Пікірлер: 44
@Dev-lessons
@Dev-lessons 4 ай бұрын
Поддержать меня на Бусти и получить доступ к доп контенту: boosty.to/mflenov Обо мне: www.flenov.ru Мой ИТ блог www.flenov.info Телеграм: t.me/mflenov Twitter: twitter.com/flenov Инстаграм: instagram.com/mflenov/ Мой просто блог blo.moe
@ruslans3317
@ruslans3317 Жыл бұрын
о боже!!!я прочитал почти все ваши книги.И не подозревая кто Вы,подписался,случайно.А тут оказалось чудо чудесное...
@Dev-lessons
@Dev-lessons Жыл бұрын
А основной канал видел? www.youtube.com/@programisli
@akm_rpg_xakep
@akm_rpg_xakep Жыл бұрын
Вы очень ярко ему сказали о своём открытии 🙂 Наверно гуманитарий также в ответ сказал бы любезности подняв уровень доброжелательности, а технарь ответил сухо. Однако это такая разница в менталитете 🙂
@evgenyjagushinsky6695
@evgenyjagushinsky6695 11 ай бұрын
Очень интересная тема!
@sim9797
@sim9797 Жыл бұрын
Спасибо, Михаил, теперь буду знать, что можно сделать, чтобы попытаться получить чужие карты
@TheKovalAndrey
@TheKovalAndrey Жыл бұрын
Случайно наткнулся на твой канал. Очень классно излагаешь. Удачи!
@sitnikovroman
@sitnikovroman Жыл бұрын
Спасибо Вам Михаил. Я сам сегодня ИБ шник. Все правильно говорите в ролике.
@sitnikovroman
@sitnikovroman Жыл бұрын
Есть опыт разработки старый. Всегда топил за продумывание рисков в коде, когда.его писал. Сегодня иду обратно с багажом ИБшника.
@IvanPetrov-td6dk
@IvanPetrov-td6dk 4 ай бұрын
Если в параметре, который в запрос подставляется, пробелов не должно быть, то его через функцию удаления пробелов нужно пропустить, и уже это значение в запрос подставлять, тогда код sql-инъекции запорется. Или валидацию параметров делать, чтобы если число, то должно быть число, и с такими-то условиями.
@TbIPDblM
@TbIPDblM Жыл бұрын
Тот самый момент когда просмотрел много роликов на ютубе, и только сечас понял, что этот Фленов == тому что на книге указан в качестве автора :DDDD
@Dev-lessons
@Dev-lessons Жыл бұрын
Разоваровался?
@rageman1867
@rageman1867 Жыл бұрын
Добрый день, Михаил! Спасибо вам за видео. Я начал изучать тему Bug Bounty и pentest. Какую вашу книгу мне стоит прочитать, чтобы узнать больше об уязвимостях например (XSS/CSRF/CSTI)
@Dev-lessons
@Dev-lessons Жыл бұрын
В Web сервер глазами хакера я рассказывал про это. Про XSS есть видео на моем бусти, ссылки на видео есть здесь www.flenov.info/plus/video/1
@rageman1867
@rageman1867 Жыл бұрын
@@Dev-lessons Спасибо вам большое 🤝
@eugenemaiorov8147
@eugenemaiorov8147 Жыл бұрын
Prepared statements не панацея от начинающих программистов.... Тут только код ревью, тесты и постоянное обучение. Как насчет запроса в стиле "SELECT id, {$_GET['field_name']} FROM users WHERE email = ?;" тут вродебы и запрос параметризован, но только это не спасет. Такое и в LIMIT встречается, и ORDER, GROUP BY. Вобщем нужно следить за каждым запросом :)
@Dev-lessons
@Dev-lessons Жыл бұрын
Там, где параметры невозможны, нужно фильтровать, другого выхода нет. Но если есть возможность использовать параметры, то только их.
@Daman_24
@Daman_24 Жыл бұрын
Здравствуйте. Простите, возможно, за глупый вопрос. Я только начинаю изучать программирование. Скажите, а сработает ли инъекция, если использовать preparedStatment(), но не использовать setParametr(), то есть параметры указать в самом preparetStatment(). Например так: PreparedStatement preparedStatement = connection.prepareStatement("INSERT INTO User (name, lastName, age) " + "VALUES ('" + name + "', '" + lastName + "', '" + age + "');") , где name, lastName, age - это параметры метода для сохранения user(а), внутри которого и прописан preparedStatment(). Заранее спасибо.
@Daman_24
@Daman_24 Жыл бұрын
По сути получается, что я использую preparedStatment(), как обычный Statment()
@Dev-lessons
@Dev-lessons Жыл бұрын
Да, будет инъекция. Лучше так не писать код
@Daman_24
@Daman_24 Жыл бұрын
@@Dev-lessons Принял. Спасибо.
@Mr43046721
@Mr43046721 Жыл бұрын
Т.е. из sql можно создавать файлы в файловой системе? И даже Шелл запускать? Ого, не знал. Надо поизучать эту тему. Круто было бы если вы, Михаил, сделали в будущем видео о том, как это сделать
@Dev-lessons
@Dev-lessons Жыл бұрын
Сам чистый SQL не может, а как я сказал некоторые базы могут позволять за счёт своих расширений, у MS это Transact: например xp_cmdshell
@KolomiecSergeyK
@KolomiecSergeyK Жыл бұрын
Відразу лайк тільки по назві ;)
@jeep456789
@jeep456789 Жыл бұрын
Только сегодня случайно в библиотеке наткнулся на книгу "Web сервер - глазами хакера", пошёл смотреть на ютюбе ролики, и тут это видео, очень круто
@tree-service
@tree-service Ай бұрын
а как узнать какой именно куки или какие именно передаваемые данные на сервер участвуют каким-либо образом в SQL?
@Dev-lessons
@Dev-lessons Ай бұрын
Если нет исходного кода, то никак, только пробовать и смотреть на результат. Если возникнет ошибка и сервер отобразит детали, то может в этом случае можно что-то узнать.
@user-danunahui
@user-danunahui 2 ай бұрын
А если говорить про hibernate orm, там покатят инъекции?
@Dev-lessons
@Dev-lessons 2 ай бұрын
Если ORM не используют SQL, то SQL невозможен, потому что инъекция назвается именно SQL. Но ORM могут позволять прямое использование SQL и тогде может быть инъекция
@IgorGallemar
@IgorGallemar Жыл бұрын
Первый!!!
@antovvvvvv
@antovvvvvv Жыл бұрын
Пришел после обреченных. Кто-нибудь может объяснить как это вообще работает в web. Ну допустим хакер смог провести injection и хочет похитить данные. Так что будет при Select * from where UserId = 1234 OR 1=1 ? У него на странице каким-то чудом появится вся таблица что ли ? Или надо прям потом настраивать linked server итд, чтобы данные скопировать на сервер хакера ?
@Dev-lessons
@Dev-lessons Жыл бұрын
Именно этот пример не для воровства данных, а для обхода авторизации. Воровство данных будет в отдельном видео
@antovvvvvv
@antovvvvvv Жыл бұрын
​@@Dev-lessons Как чисто SQL разрабу будет интересно посмотреть как можно шкодить без языка програмирования )
@_X_sneakers
@_X_sneakers Жыл бұрын
Извините, непонятный момент на 6:35, каким образом хакер может получить доступ к карточкам других пользователей?
@Dev-lessons
@Dev-lessons Жыл бұрын
9999 - число, которое должно быть большим, чтобы такой карточки в базе данных не было. Тогда UserID='id' AND Card='9999' ничего не вернет. В этом случае в силу вступает вторая половина фильтра ИЛИ: or UserID = 1. Мы не проверяем карточку, а фильтруем только по пользователю, а значит в результате мы получим первую карточку для UserID = 1
@_X_sneakers
@_X_sneakers Жыл бұрын
​@@Dev-lessonsСпасибо вам большое
@alexdolgov4855
@alexdolgov4855 Жыл бұрын
drop from youtube ;--
@user-jb7xp6ms3j
@user-jb7xp6ms3j Жыл бұрын
Второй, это же тоже призовое место в комментариях?
@IgorGallemar
@IgorGallemar Жыл бұрын
Неа, даже шоколадную медальку не дадут 😂
@gluck59rus
@gluck59rus Жыл бұрын
Посмотрел несколько роликов Михаила По всей видимости, знания автора столь обширны, что он не в состоянии систематизировать их подачу и его уроки напоминают беспоярдочный бег курицы по птичьему двору, или, по-научному, броуновкое движение. Не стоит такое смотреть дабы не забивать себе голову разрозненной информацией, куски которой поданы совершенно беспорядочно.
@Dev-lessons
@Dev-lessons Жыл бұрын
Спасибо за отзыв
@user-wx7fi7su4r
@user-wx7fi7su4r Жыл бұрын
Мне не интересна твоя жизненая история . Слишком много воды.
@Dev-lessons
@Dev-lessons Жыл бұрын
Ну тогда не стоит смотреть меня, у меня во всех видео много личного опыта, историй
@user-wx7fi7su4r
@user-wx7fi7su4r Жыл бұрын
@@Dev-lessons Уговорил, больше смотреть не буду.
I Need Your Help..
00:33
Stokes Twins
Рет қаралды 128 МЛН
Ну Лилит))) прода в онк: завидные котики
00:51
Dynamic #gadgets for math genius! #maths
00:29
FLIP FLOP Hacks
Рет қаралды 18 МЛН
Вопросы собеседования на C# программиста
21:04
Програмысли Влог
Рет қаралды 61 М.
Индексы баз данных - Почему так быстро - проще некуда
44:54
SQL Injection For Beginners
13:28
Loi Liang Yang
Рет қаралды 1,4 МЛН
SQL-инъекции | Клуб компьютерной безопасности
45:51
Студенческие клубы разработки СГУ
Рет қаралды 2,8 М.
SQL инъекция
19:29
Volodya Mozhenkov
Рет қаралды 43 М.
ЭТИ КНИГИ СДЕЛАЮТ ИЗ ТЕБЯ ХАКЕРА
16:38
I Need Your Help..
00:33
Stokes Twins
Рет қаралды 128 МЛН