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

  Рет қаралды 5,827

Програмысли

Програмысли

5 ай бұрын

В этом видео поговорим о проблемах в 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 5 ай бұрын
У нас в лохматых 2005-2010 в ВГУ учили, что такое SQL-инъекция. Вспомнилась история: один парень (не помню по какой причине) пропустил зачет по базам данных, он взломал факультетский Moodle и поставил себе пятерку. Его спалили, пятерку отобрали. А как по мне, он заслужил 5+ :) Знания же профильные показал!
@LihMeh
@LihMeh 5 ай бұрын
UPD: не написал сразу: он, как раз, через инъекцию и взломал. А еще урок админам - вовремя надо обновлять софт :)
@digital-october
@digital-october 4 ай бұрын
Воронежский Государственный?
@LihMeh
@LihMeh 4 ай бұрын
@@digital-october ага, он, родненький
@roma9957
@roma9957 2 ай бұрын
Куда лучше поступать ВИВТ или ВГУ?
@Nikegamecentral
@Nikegamecentral 5 ай бұрын
"Я получил ремня, и вы получите ремня" ))
@programisli
@programisli 5 ай бұрын
Главное, чтобы он был по безопасности
@Hasegi-kr9hu
@Hasegi-kr9hu 4 ай бұрын
Работаю пентестером и крайне негодую, что мужик рассказывает реально полезные вещи, которые отбирают у меня хлеб
@programisli
@programisli 4 ай бұрын
У хорошего пентестера работу отобрать невозможно :). В хорошей компании пентестеры как и админы должны ничего не делать, а сидеть. Это как с врачами - нужно платить за то, чтобы не болели, а не за то, чтобы лечили.
@Miron_MipoX
@Miron_MipoX 4 ай бұрын
Смотрю вас с момента как начал изучать программирование и благодаря вам появилось желание в дальнейшем изучать безопасность)
@user-to3gy4bk9d
@user-to3gy4bk9d 5 ай бұрын
Здравствуйте! Вы очень правильно думаете. Тоже замечаю, что проблемы с безопасностью у многих компаний. Как у программистов, так и в других сферах. В документации, тоже. И надо соблюдать правила безопасности. Спасибо за видео, интересная идея с обучением и поясами. Надо будет тоже внедрять такие методики.
@user-hl4tv8pw1f
@user-hl4tv8pw1f 5 ай бұрын
Замучался с этими "ремнями"😂 Об инъекциях, узнал из "глазами хакера", за что очень благодарен!
@programisli
@programisli 5 ай бұрын
Запутался в ремнях
@denielmorozov539
@denielmorozov539 5 ай бұрын
Инетересный вот подход. Заставляет что-то удерживаться у вас на канале
@Nikegamecentral
@Nikegamecentral 5 ай бұрын
Закончил в том году ВУЗ по направлению "Программная инженерия". За 4 года обучения рассказали только о SQL-инъекции на предмете "Базы данных". О том, как это решать - не рассказали )
@programisli
@programisli 5 ай бұрын
Это печалька
@daveyjonesx
@daveyjonesx 5 ай бұрын
Тоже, чет не помню чтоб кроме инъекций что-то давали по безопасности Учил сам, собственно
@codesleeprepeat
@codesleeprepeat 4 ай бұрын
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 ай бұрын
Ох, ну инъекции это же базовый уровень. А какой пласт проблем есть в бизнес логике
@programisli
@programisli 4 ай бұрын
Да, и вот Бизнес логика должна быть на первом месте в OWASP, потому что научить защищаться от SQL или Code инъекции легко, научить безопасной логике и архитектуры приложения на много сложнее.
@jelooJusta
@jelooJusta 4 ай бұрын
вопрос не в том, откуда растут ноги, а в том, откуда растут руки
@user-ug1kx5ke3h
@user-ug1kx5ke3h 4 ай бұрын
Михаил, спасибо за полезный материал. Что еще можешь посоветовать посмотреть/почитать по теме безопасности? Интересует в плане расширения кругозора - основные проблемы, основные подходы к решению.
@programisli
@programisli 4 ай бұрын
Надо читать разные источники и авторов. Я читаю просто всё, что попадается мне на глаза
@titanovsky
@titanovsky 5 ай бұрын
Спасибо, я с вебом не так часто сталкиваюсь в разработке, но про эти банальные уязвимости, которые легко фиксятся - возьму на заметку.
@codesleeprepeat
@codesleeprepeat 4 ай бұрын
Спасибо за видео, круто, зажёг))
@AndrewLewman
@AndrewLewman 5 ай бұрын
На счет безопасности: очень странно было слышать что люди настолько не знают об этом. Кажется на рф рынке все бекендеры знают об этом. Сам чуть ли не со школы знаю, кстати, может быть благодаря одной из ваших книг, или подобным увлечениям )
@you-are-not-allowed
@you-are-not-allowed 4 ай бұрын
Все бэкендеры знают 😂 очень сомнительно, навидался
@al.e.k
@al.e.k 4 ай бұрын
Допускаю, что с распространением фреймворков и orm как раз про инъекции не все могут знать, потому что пишут запросы, используя orm. А вот те, кто постарше и помнят времена самописных решений, то вот они как раз больше знают про эту уязвимость.
@you-are-not-allowed
@you-are-not-allowed 4 ай бұрын
@@al.e.k я видел что и в орм вставляют переменные от пользователя без подготовки 😃
@slavapinchuk4829
@slavapinchuk4829 5 ай бұрын
Спасибо за Ваши мысли. К сожалению практически все компании не развивают специалистов. Ты приходишь, тебе дают гору тасок и на этом всё. Было время, что я верил, что можно найти такое место. Но теперь я просто общаюсь с несколькими энтузиастами и на этом всё.
@programisli
@programisli 5 ай бұрын
Но если не развивать специалистов, то будут проблемы
@didjital_ninjja
@didjital_ninjja 5 ай бұрын
Здравствуйте, хотел у вас как у профи поинтересоваться , как и где сейчас лучше учить веб для С# ? Сухую документацию мне кажется мало толку будет читать, по крайней мере у меня так на долго не задерживается информация
@programisli
@programisli 5 ай бұрын
Нужно практикой заниматься, поэтому на бусти я очень много показываю практики, прям сажусь, пишу код и записываю каждое действие. Возьми какой-то проект и начни писать, а по ходу уже будешь изучать то, что нужно будет для проекта.
@didjital_ninjja
@didjital_ninjja 5 ай бұрын
@@programisli У меня просто проблема в том что проект уже немного недоделанный но есть, а вот по теории проседаю очень
@johnmayt2191
@johnmayt2191 5 ай бұрын
Я с кибер безопасностью познакомился на первой работе)
@user-fk1ei4du5x
@user-fk1ei4du5x 4 ай бұрын
Ладно пояса, а ремни получать на работе - это точно нововведение и бояться будут, когда задница будет переливаться цветами радуги.
@antonlogunov7773
@antonlogunov7773 4 ай бұрын
Как думаете? Может многие пренебрегают безопасностью в вебе в связи с большей популярностью front-end по отношению к backend? Где больше важна картинка?
@programisli
@programisli 4 ай бұрын
Не понял вопроса
@antonlogunov7773
@antonlogunov7773 4 ай бұрын
@@programisli, извините, поправил
@programisli
@programisli 4 ай бұрын
Картинка конечно важна, но нет, не связано. Думаю проблема образования
@user-kf1si8rj9f
@user-kf1si8rj9f 5 ай бұрын
Здравствуйте, сейчас такое время, что интересно изучать различные сферы программирования. Могли бы вы сказать как вы выбрали свою сферу?
@programisli
@programisli 5 ай бұрын
Посмотри на канале есть плейлист Биография, там почти вся моя ИТ жизнь
@mr.sergio8773
@mr.sergio8773 5 ай бұрын
Спасибо за видео. Можете дать ссылку, где можно получить эти пояса по безопасности?
@programisli
@programisli 5 ай бұрын
Это внутренняя вещь для компании, где я работаю
@Apollonushko
@Apollonushko 4 ай бұрын
Спасибо. Хочу подписаться на ваш бусти.
@programisli
@programisli 4 ай бұрын
Без проблем, вот тут boosty.to/mflenov
@firewatermoonsun
@firewatermoonsun 4 ай бұрын
Сейчас в основном для веб разработки используют ORM. Там вроде уже проводится sanitazation?
@programisli
@programisli 4 ай бұрын
Смотря какая ORM и как использовать, они же тоже позволяют иногда выполнять чистый SQL
@firewatermoonsun
@firewatermoonsun 4 ай бұрын
Да, точно.
@user-fk1ei4du5x
@user-fk1ei4du5x 4 ай бұрын
Михаил, написал кучу писем с Вашего сайта - без ответа. Возможно стоит проверить, доходят ли они с Вашего сайта ?
@programisli
@programisli 4 ай бұрын
Когда писал? Вообще доходят, вот вчера мне присылали вопрос.
@user-fk1ei4du5x
@user-fk1ei4du5x 4 ай бұрын
@@programisli Возможно доходят, а ответа то нет вообще. Уже не в первой. Я подумал, возможно, проблема внутри.
@programisli
@programisli 4 ай бұрын
Я всем отвечаю. Отправь сейчас письмо. Некоторые говорят, что мои письма попадают в спам
@user-fk1ei4du5x
@user-fk1ei4du5x 4 ай бұрын
@@programisli отправил письмо. в конце письма написал "777"
@Ilya-oj5ey
@Ilya-oj5ey 5 ай бұрын
Ну я ещё в 14 году наверное на "тестовых" Сайтах базы ради интереса сливал инъекциями 😅
@techbuterbrod
@techbuterbrod 5 ай бұрын
Работал в банке, который входит в топ 20 в России. В CRM системе передавались данные карт клиентов в JSON, который можно было просто в консоли браузера посмотреть. Ну это то, что мне больше всего запомнилось, а так все дырявое насквозь. Меня это всегда удивляло, т.к. в банке часто программисты сидели без задач и занимались ерундой, хотя прям кладезь была всего, что можно улучшить. Я так и не понял за 2 года работы, почему никто этим не занимался, имея в штате специалистов и свободные ресурсы.
@programisli
@programisli 5 ай бұрын
Чтобы этого не было, админы должны настроить WAF (Web Application Firewall) и на нём блокировать всё, что похоже на кредитную карту - 16 цифр, которые начинаются на определённую последовательность. У нас именно так и было. Да, было много ложных срабатываний, но лучше ложное срабатывание, чем отсутствие срабатывания вовсе.
@y5rdg
@y5rdg 4 ай бұрын
Спасибо
@Adarfell
@Adarfell 4 ай бұрын
В вашей компании есть application security департамент или хотя бы кто-то кто этим занимается фул тайм?
@programisli
@programisli 4 ай бұрын
Да, но компания огромная, тысячи программистов и за всеми не уследишь.
@Adarfell
@Adarfell 4 ай бұрын
@@programisli А ssdlc реализуете если не секрет? В плане sast, dast и тд
@grosseameise
@grosseameise 5 ай бұрын
какие курсы порекомендуете по безопасности?
@programisli
@programisli 5 ай бұрын
Я никаких курсов не заканчивал, сам все изучал по книгам и просто икал в интернете и теперь делюсь знаниями через книги и бусти
@grosseameise
@grosseameise 5 ай бұрын
@@programisli 2:22 - "Я сам побежал и сдал эти курсы" - это внутрениие курсы?
@chikenmacnugget
@chikenmacnugget 4 ай бұрын
Как хорошо что я не поехал учиться в колледж Канадский...
@programisli
@programisli 4 ай бұрын
У канадских колледжей есть плюс, можно получить разрешение на работу в Канаде
@chikenmacnugget
@chikenmacnugget 4 ай бұрын
@@programisli сомнительное удовольствие конечно. А так вообще во многих странах так
@ManabovGroup
@ManabovGroup 5 ай бұрын
лайк с первой секунды!
@DreamingDolphing
@DreamingDolphing 4 ай бұрын
Не обучают безопасному программированию, потому что тема очень обширная и требует отдельного курса, а когда новичка учат программировать, он уже перегружен информацией. Если преподаватель грамотный, то он покажет, что "вот так делать не нужно, потому что небезопасно", но это из головы вылетит. Кроме того во фронтенд веб-разработки большая часть безопасного кода достигается тем, что просто изначально надо писать "правильно".
@programisli
@programisli 4 ай бұрын
Нужно прям сразу при обучении говорить о правильных подходах, а не просто обучать. Отдельный курс - это хорошо, но
@ulysses.apokin
@ulysses.apokin 5 ай бұрын
Я учусь на последнем курсе мехатроники и робототехники. Понимаю, что это не 100% ИТ, но всё же программирование это одна из основополагающих вещей в этой специализации наравне с электроникой, электротехникой и механикой. Опишу суть проблемы. У нас было три предмета посвященных программированию. Программирование и алгоритмизация, ООП и микропроцессорная электроника. Все длились по одному семестру. На ПиА начали сразу учить Си, что максимально бестолково. Потому что невозможно объяснить человеку который программирует впервые, что такое указатель. Операция ввода-вывода понадобятся на первом занятии, в Си нет передачи параметров по ссылке, и объяснить человеку почему prtinf без & а scanf c & невозможно. И остается это объяснять сакраментальным "просто сделайте и запомните, объясним позже". Или что еще хуже и что было у нас, применять cin и cout, после чего разница между двумя очень разными концептуальными языками Си и Си++ стирается. В Си + - * = это вообще ОПЕРАЦИИ, когда в Си++ это операторы. И соответственно вместе с тем в Си каким-то образом проникли vector и list. И всегда применялся vector. Почему? Потому что он проще))) И мало чего, в процессе изучения Си абсолютно теряется разница между функцией и процедурой (процедур в Си нет), и соответственно теряется понятие побочного эффекта. И код становится еще более ужасен. Дальше пошел ООП, соответственно с Си++ и задачей курсовой было построение программы с графическим интерфейсом. Предмет был бомба конечно. Вообще, чтобы построить графический интерфейс нужно изучать другую парадигму, называемую СОБЫТИЙНО-УПРАВЛЯЕМОЕ ПРОГРАММИРОВАНИЕ, никто не объяснял. Поэтому то и дело, программы зависали в обработчиках))) Да и парадигмы ООП и АТД перемешались в кучу. Инкапсуляция почему-то стала прерогативой ООП) А ООП стало императивной парадигмой. Привет ПРИСВАИВАНИЮ, которое наоборот противоречит ООП. Мы же делаем предположения об объекте)) а в ООП объект это черный ящик. Да и в предмет еще запихнули время жизненного цикла ПО, диаграммы, протоколы и кучу всего. Так что должны были успеть все, а успели ничего. Я единственный с потока кто сделал курсач сам. Спасибо Godot который позволяет написать графику на коленке. Микропроцессорная техника. Тут мы изучали ассемблер и строение микропроцессорной техники на основе МК 51-й серии (например intel8051). Это пожалуй единственный предмет к которому нет претензий. UPD: Благодаря всему тому, что "научили" до этого времени, работать с одногруппниками были бесполезно. Например, к сожалению, им не удалось объяснить, что в ассемблере нету переменных и P1 equ r2 это директива предпроцессора))) В общем, у нас уровень преподавания программирования просто слабый. И стать программистом можно только вопреки, а не благодаря. Конечно, чтобы стать макакой с javascript этого вполне хватит. Но для такой сложной области как мехатроника точно нет.
@Hello_there_777
@Hello_there_777 5 ай бұрын
"Pure" C code using Reference Parameter! (aka pointers) ( int * x)
@daveyjonesx
@daveyjonesx 5 ай бұрын
Проще было идти джейсоны гонять
@cuniapapa5370
@cuniapapa5370 4 ай бұрын
О, фаната Столярова сразу узнал
@ulysses.apokin
@ulysses.apokin 4 ай бұрын
@@cuniapapa5370 не фанат конечно. Не сотвори себе кумира. Но это самое толковое что я читал
@Kirill-nd3qv
@Kirill-nd3qv 5 ай бұрын
Интересная позиция: нужно знать xss и sql injection перед тем как писать код) Прежде чем писать код нужно ещё знать архитектуру, ну так чтобы наверняка)
@programisli
@programisli 5 ай бұрын
Архитектуру всё же решают синьоры. Джуниорыуже следуют тому, что сказали старшие
@zuowa
@zuowa 5 ай бұрын
Слышал что при помощи SQL инъекций вводят синтаксический сахар, и база данных может стать вязкой.
@ronnie_rocketo
@ronnie_rocketo 4 ай бұрын
Футболка - ТОП :)
@programisli
@programisli 4 ай бұрын
Кепочку я тут вблизи показывал kzfaq.info/get/bejne/jq94iMmotZyUmWQ.html
@roma2k
@roma2k 5 ай бұрын
Робин брось таблицу!
@roma2k
@roma2k 5 ай бұрын
у меня была мысль сына так назвать (Robin '); drop table ;--, но у меня родилась дочь
@roma2k
@roma2k 5 ай бұрын
загуглил, оказывается Роберт, во время что делает с памятью
@my_coolheart
@my_coolheart 4 ай бұрын
Пошел на бусти, а то как-то стыдно стало
@benzed1618
@benzed1618 5 ай бұрын
OOOOOOOOOOOOOOOOOOOOOOoooooooooooooooo
@Thisamma72
@Thisamma72 5 ай бұрын
А куда это, пропал КиберДед кстати. ?!!
@programisli
@programisli 5 ай бұрын
Да ещё выкладывает видосы
@Thisamma72
@Thisamma72 5 ай бұрын
@@programisli Хм, а чего это не приходят уведомления. Да Ютуб, чудные дела твои!! ))
@olegivanov9607
@olegivanov9607 4 ай бұрын
он болтун, сплошное самовосхваление и фантазии.
@gospozhaTochko
@gospozhaTochko 5 ай бұрын
был курс НТС (надежность технологических систем), вел препод по фамилии Троян, при чем ему уже под 90 подходило
@programisli
@programisli 5 ай бұрын
А у меня был по экономике преподаватель Владимир Ильич
@gospozhaTochko
@gospozhaTochko 5 ай бұрын
@@programisli я с Ильичем больше познакомилась на политологии, ведь самое четкое определение "политика - это концентрированное выражение экономики" :)
@Edvard-Aliev
@Edvard-Aliev 5 ай бұрын
Привет, сейчас все проще, те кто юзают Laravel не закрывают .env а там все данные о сайте 😂😂😂 стало проще ломать 😂😂😂
@programisli
@programisli 5 ай бұрын
Печалька
@programisli
@programisli 5 ай бұрын
Он же не должен быть в папке паблика и не должен быть доступен из web
@aikivlad
@aikivlad 5 ай бұрын
А разве, переменные окружения нельзя забирать из контейнера, чтобы не создавать этот файлик физически на проде, как это делается в том же go?
@fromillia
@fromillia 3 ай бұрын
Говорил бы киберплемяши. Ты ж не кибердед.
@programisli
@programisli 3 ай бұрын
Есть в ютубе Кибердед, который начинает свои видео так
@user-yi5nh6et5s
@user-yi5nh6et5s 5 ай бұрын
Первый
@user-nk8wq4sx1x
@user-nk8wq4sx1x 4 ай бұрын
Ты издеваешся?! Вот вы все кто ссылаются на учебные заведения вы издеваетесь?! Я как во сне где все свихнулись. НЕ УЧАТ В УЧЕБНЫХ ЗАВЕДЕНИЯХ ничему, откровенно слабые очень слабые преподы там и студентам это так вяло интересно что только палкой бить. Если так получается что выходят годные студенты то это либо сам студент бриллиант либо это вот прям ВУЗ конкретный в котором есть сильные преподы, но это нужно конкретно знать что за ВУЗ и по фамилиям преподов, чтобы ловить оттуда студентов сразу на собеседование. В остальной массе, да, вот так..
@programisli
@programisli 4 ай бұрын
Ну вот оттуда и растут значит корни проблемы
@AndrewLewman
@AndrewLewman 5 ай бұрын
Кибердед показался ватнейшим
@antonsalatskyy
@antonsalatskyy 4 ай бұрын
🇺🇦
Python - любовь и ненависть
29:41
Програмысли
Рет қаралды 7 М.
Watermelon Cat?! 🙀 #cat #cute #kitten
00:56
Stocat
Рет қаралды 25 МЛН
Increíble final 😱
00:37
Juan De Dios Pantoja 2
Рет қаралды 63 МЛН
The day of the sea 🌊 🤣❤️ #demariki
00:22
Demariki
Рет қаралды 31 МЛН
Универ. 10 лет спустя - ВСЕ СЕРИИ ПОДРЯД
9:04:59
Комедии 2023
Рет қаралды 922 М.
Облажался, встал и пошёл дальше
11:46
Програмысли
Рет қаралды 10 М.
Резюме глазами менеджера
21:40
Програмысли
Рет қаралды 6 М.
Четырёхчасовая рабочая неделя
28:21
Програмысли
Рет қаралды 6 М.
Watermelon Cat?! 🙀 #cat #cute #kitten
00:56
Stocat
Рет қаралды 25 МЛН