Все мы знаем, что перехват сессии – это очень плохо, и от него надо защищать себя и свои приложения. Однако удобопонятную информацию о том, что это такое и как это тестировать, найти трудно. В этой статье я опишу различные виды перехвата сессий, а затем дам пошаговую инструкцию, как тестировать на эту уязвимость, используя OWASP Juice Shop и Burp Suite.
Перехват сессий – это ситуация, когда злоумышленник получает доступ к авторизационной информации и использует ее, чтобы представиться другим пользователем или получить доступ к информации, которого быть не должно. Перехват бывает разных видов:
Большое заблуждение считать, что любое тестирование безопасности – это очень сложная штука. Конечно, зачастую оно требует изучения новых навыков и понимания таких вещей, как сети, IP-адреса и доменные имена, но оно может быть и невероятно простым. Сегодня мы поговорим о трех дырах безопасности, которые можно найти в приложении при помощи инструментов разработчика, встроенных в браузер. Этими уязвимостями может воспользоваться любой среднестатистический пользователь приложения, а не только высококвалифицированный черный хакер.
Автор: Кристин Джеквони (Kristin Jackvony) Оригинал статьи Перевод: Ольга Алифанова
Еще один тип атак на безопасность – это SQL-инъекции. Они могут нанести серьезный урон вашему приложению, поэтому очень важно найти эти уязвимости до того, как их найдет злоумышленник.
Осуществляя SQL-инъекцию, злоумышленник отправляет SQL-запрос через поле формы, которое взаимодействует с базой данных неожиданным образом. Вот четыре примера того, что этот нехороший человек может сделать при помощи такой атаки:
Полностью удалить таблицу.
Изменить запись о другом пользователе.
Получить данные, к которым у него не должно быть доступа.
В прошлый раз мы говорили о том, что такое межсайтовый скриптинг (XSS) и приводили несколько примеров. Однако недостаточно просто знать, что это такое – нам нужно уметь убедиться, что наше приложение не подвержено XSS-атакам! Сегодня мы обсудим три стратегии тестирования на XSS-уязвимости.
Автор: Кристин Джеквони (Kristin Jackvony) Оригинал статьи Перевод: Ольга Алифанова.
Беседуя о тестировании безопасности, вы наверняка слышали о межсайтовом скриптинге (XSS), однако, возможно, не очень хорошо понимаете, что это такое. Межсайтовый скриптинг – это атака, при которой злоумышленник находит способ выполнять скрипт на чужом сайте. Сегодня мы поговорим о двух разных типах XSS-атак, наглядно на них посмотрим, и разберемся, чем они вредят пользователю.
Автор: Кристин Джеквони (Kristin Jackvony) Оригинал статьи Перевод: Ольга Алифанова.
Сегодня мы узнаем, как тестировать на наличие IDOR. IDOR расшифровывается как Insecure Direct Object Reference (небезопасные прямые ссылки на объекты) и подразумевает ситуацию, когда пользователь может успешно получить доступ к странице, данным или файлу, доступа к которым у него быть не должно. Мы обсудим четыре способа, которыми эта уязвимость проявляется, а затем поэксплуатируем ее в тестовом приложении, используя инструменты разработчика Chrome и Postman.
SQL injection — это уязвимость, в которой злоумышленник создает или изменяет текущие SQL-запросы для отображения скрытых данных, их изменения или даже выполнения опасных команд операционной системы на стороне сервера базы данных. Атака выполняется на базе приложения, строящего SQL-запросы из пользовательского ввода и статических параметров.
SQLmap — это инструмент с открытым исходным кодом для тестирования на проникновение, который автоматизирует процесс выявления и эксплуатирования уязвимостей SQL-инъекций и захват серверов баз данных.
Для начала минимизируйте все, что может затруднить вам просмотр. Закройте все, что стучится в сеть, кроме одной вкладки одного браузера. Я выбираю IE из-за приятного плагина, а затем запускаю Fiddler.
Еще не так давно тестирование безопасности (и его не менее пугающий брат, тестирование проникновения) было огромной страшной букой, которую укрощали те, кто в ней разбирался. Им за это очень и очень хорошо платили. Затем жизнь изменилась, и я внезапно обнаружила себя натыкающейся на штуки, которые дорого бы стоили моему работодателю, если бы я их не поймала.
Внезапно я стала больше узнавать о началах тестирования безопасности – никогда не думала, что мне понадобятся такие знания – и это было изматывающе, потрясающе и ужасающе (примерно поровну).
Все приложения можно условно разделить на «спринтеров» и «марафонцев». Спринтеров запускают редко и ненадолго — например, интернет-банк для проведения разовых операций. Марафонцы же включены у своих пользователей постоянно: текстовые редакторы, бухгалтерские программы, системы документооборота и т.д.
Если ваш продукт — марафонец, то вам просто необходимо тестирование надёжности (aka reliability testing). В рамках такого тестирования мы проверяем, как продукт ведёт себя при длительном использовании, не наблюдается ли утечек памяти, не растут ли используемые ресурсы, не возникают ли непредвиденные ошибки.
В своём докладе Олег расскажет, как проводить автоматизированное тестирование надёжности веб-приложений при помощи Selenium Web Driver.
По итогам этого доклада вы узнаете:
Какие критичные ошибки «марафонцев» можно пропустить, не уделяя достаточно внимания тестированию надёжности
Что такое утечки памяти, и почему растёт память браузера при длительном использовании продукта
Почему автоматизация тестирования — наиболее оправданное решение для тестирования надёжности
С чего начать автоматизацию reliability тестов, и как это лучше всего сделать.
Доклад будет полезен всем, кто занят тестированием регулярно и подолгу используемых программных продуктов.