💬Соблюдение каких критериев необходимо для эксплуатации атаки Session Fixation?
1️⃣Способность принудительно установить токен сессии (синтаксически верный, но в остальном неактивный) в браузере другого пользователя.
💡Это может быть достигнуто с помощью методов, таких как XSS или CRLF-инъекции. Например, мы используем XSS-атаку для вставки вредоносного кода в гиперссылку, отправленную другому пользователю, чтобы установить идентификатор сессии в его Cookie.
2️⃣После аутентификации другого пользователя, приложение использует уже существующий токен сессии и не устанавливает новый.
💡Это означает, что приложение имеет недостатки в управлении идентификаторами сессий, что позволяет атакующему использовать уже установленный токен сессии для доступа к учетной записи другого пользователя после того, как он вошел в систему.
👉 Подробнее
#вопросы_с_собесов
1️⃣Способность принудительно установить токен сессии (синтаксически верный, но в остальном неактивный) в браузере другого пользователя.
💡Это может быть достигнуто с помощью методов, таких как XSS или CRLF-инъекции. Например, мы используем XSS-атаку для вставки вредоносного кода в гиперссылку, отправленную другому пользователю, чтобы установить идентификатор сессии в его Cookie.
2️⃣После аутентификации другого пользователя, приложение использует уже существующий токен сессии и не устанавливает новый.
💡Это означает, что приложение имеет недостатки в управлении идентификаторами сессий, что позволяет атакующему использовать уже установленный токен сессии для доступа к учетной записи другого пользователя после того, как он вошел в систему.
👉 Подробнее
#вопросы_с_собесов
owasp.org
Session fixation | OWASP Foundation
Session fixation on the main website for The OWASP Foundation. OWASP is a nonprofit foundation that works to improve the security of software.
👍5
💬В чем разница между Web Cache Deception и Web Cache Poisoning?
📌Оба метода являются атаками на веб-кеш, однако в первом случае мы манипулируем путями URL-адресов, чтобы сбить с толку сервер кеширования и заставить его классифицировать конфиденциальные HTTP-ответы как общедоступные кешируемые документы. Другими словами, мы заставляем сохранить в кеше некоторые конфиденциальные данные других пользователей, после чего извлекаем эти данные из кеша.
📌Во втором случае мы используем поведение веб-сервера и кеша, чтобы передать вредоносный HTTP-ответ другим пользователям. Мы заставляем приложение сохранять в кеше некоторый вредоносный контент, который передается из кеша другим пользователям приложения.
👉 Подробнее
#вопросы_с_собесов
📌Оба метода являются атаками на веб-кеш, однако в первом случае мы манипулируем путями URL-адресов, чтобы сбить с толку сервер кеширования и заставить его классифицировать конфиденциальные HTTP-ответы как общедоступные кешируемые документы. Другими словами, мы заставляем сохранить в кеше некоторые конфиденциальные данные других пользователей, после чего извлекаем эти данные из кеша.
📌Во втором случае мы используем поведение веб-сервера и кеша, чтобы передать вредоносный HTTP-ответ другим пользователям. Мы заставляем приложение сохранять в кеше некоторый вредоносный контент, который передается из кеша другим пользователям приложения.
👉 Подробнее
#вопросы_с_собесов
book.hacktricks.xyz
Cache Poisoning and Cache Deception | HackTricks
👏4🔥3👍2
💭Что такое бизнес-логика в контексте веб-приложений и чем тестирование уязвимостей бизнес-логики отличается от поиска общеизвестных багов вроде XSS, SQLi и т. д.?
* Бизнес-логика — это код, который имитирует реальные бизнес-операции/решения, а не код, который управляет взаимодействием пользователя с приложением.
* Тестирование уязвимостей бизнес-логики обычно включает в себя выявление и проверку предположений, сделанных разработчиком о том, как кто-то использует приложение, а не технические проверки, связанные с обработкой данных.
* Выявить недостатки бизнес-логики с помощью современных сканеров невозможно, поскольку они требуют понимания назначения приложения и сильно контекстуальны.
#вопросы_с_собесов
* Бизнес-логика — это код, который имитирует реальные бизнес-операции/решения, а не код, который управляет взаимодействием пользователя с приложением.
* Тестирование уязвимостей бизнес-логики обычно включает в себя выявление и проверку предположений, сделанных разработчиком о том, как кто-то использует приложение, а не технические проверки, связанные с обработкой данных.
* Выявить недостатки бизнес-логики с помощью современных сканеров невозможно, поскольку они требуют понимания назначения приложения и сильно контекстуальны.
#вопросы_с_собесов
👍5
💬Чем NoSQL-инъекция отличается от SQL-инъекции?
🔸Помимо очевидного (NoSQL-инъекция влияет на базы данных NoSQL, а не на базы данных SQL), внедрение NoSQL часто сильно зависит от варианта базы данных и языка программирования приложения. В отличие от SQL, не существует единого стандартизированного языка запросов.
🔸NoSQL также уязвим для внедрения операторов, которое, в отличие от обычного внедрения синтаксиса, может изменить исходный характер условных проверок в запросе. Некоторые базы данных NoSQL также поддерживают выполнение произвольного JavaScript-кода.
💡Обнаружить NoSQL-инъекции можно, взломав синтаксис запроса. Для этого проверяйте каждый ввод, отправляя нечеткие строки и спецсимволы, которые вызывают ошибку базы данных или какое-либо другое обнаруживаемое поведение, если они не были должным образом очищены или отфильтрованы приложением.
💡Если вы знаете язык API целевой базы данных, используйте специальные символы и нечеткие строки, относящиеся к этому языку. В противном случае используйте различные нечеткие строки для ориентации на несколько языков API.
👉 Подробнее
#вопросы_с_собесов
🔸Помимо очевидного (NoSQL-инъекция влияет на базы данных NoSQL, а не на базы данных SQL), внедрение NoSQL часто сильно зависит от варианта базы данных и языка программирования приложения. В отличие от SQL, не существует единого стандартизированного языка запросов.
🔸NoSQL также уязвим для внедрения операторов, которое, в отличие от обычного внедрения синтаксиса, может изменить исходный характер условных проверок в запросе. Некоторые базы данных NoSQL также поддерживают выполнение произвольного JavaScript-кода.
💡Обнаружить NoSQL-инъекции можно, взломав синтаксис запроса. Для этого проверяйте каждый ввод, отправляя нечеткие строки и спецсимволы, которые вызывают ошибку базы данных или какое-либо другое обнаруживаемое поведение, если они не были должным образом очищены или отфильтрованы приложением.
💡Если вы знаете язык API целевой базы данных, используйте специальные символы и нечеткие строки, относящиеся к этому языку. В противном случае используйте различные нечеткие строки для ориентации на несколько языков API.
👉 Подробнее
#вопросы_с_собесов
portswigger.net
NoSQL injection | Web Security Academy
NoSQL injection is a vulnerability where an attacker is able to interfere with the queries that an application makes to a NoSQL database. NoSQL injection ...
👍5
💬 Что такое sinks в контексте DOM XSS?
◾️Это функции или методы в API браузера или JavaScript, которые могут выполнять или вставлять необработанные данные на веб-страницу.
◾️Они могут быть использованы для внедрения вредоносного кода на страницу, если они получают необработанные данные от пользователя или из ненадежного источника.
📌Наиболее распространенные примеры sinks включают методы, которые:
1. Изменяют HTML: функции, такие как
2. Управляют URL: методы, такие как
3. Исполняют код: функции, такие как
👉 Подробнее на domxsswiki и PortSwigger
#вопросы_с_собесов
◾️Это функции или методы в API браузера или JavaScript, которые могут выполнять или вставлять необработанные данные на веб-страницу.
◾️Они могут быть использованы для внедрения вредоносного кода на страницу, если они получают необработанные данные от пользователя или из ненадежного источника.
📌Наиболее распространенные примеры sinks включают методы, которые:
1. Изменяют HTML: функции, такие как
innerHTML
, outerHTML
и подобные, которые позволяют внедрять HTML-код, включая потенциально опасные скрипты.2. Управляют URL: методы, такие как
location.href
и document.URL
, которые могут быть использованы для перенаправления пользователя на вредоносную страницу или выполнения скрипта через URL.3. Исполняют код: функции, такие как
eval()
, setTimeout()
, и setInterval()
, если они используются для выполнения строкового кода, могут быть уязвимыми, поскольку строка может содержать вредоносный скрипт.👉 Подробнее на domxsswiki и PortSwigger
#вопросы_с_собесов
GitHub
Sinks
Automatically exported from code.google.com/p/domxsswiki - wisec/domxsswiki
❤4🔥2👍1
Многие форматы файлов используют XML в качестве основы и могут привести к XXE. В качестве примеров можно привести SVG, документы Microsoft (docx, xlsx и другие) и другие языки разметки, такие как KML.
Кроме того, сервисы SOAP используют запросы в формате XML. В некоторых случаях API, которые по умолчанию используют входные данные в формате JSON, также будут принимать те же входные данные, что и XML.
Где искать XXE?
✅ Веб-сервисы и API
✅ Загрузка файлов
✅ Обработка XML в мобильных приложениях
✅ Обработка документов в формате XML
✅ SOAP-запросы и обработка SAML-ответов
#tips #bugbounty #pentest #вопросы_с_собесов
Please open Telegram to view this post
VIEW IN TELEGRAM
👏3
💬 Опишите различные способы использования PHP include() для выполнения произвольного кода.
1. Запись PHP-кода в локальный файл и его подключение через абсолютные пути, обход директорий или схему
2. Размещение PHP-кода на удаленном сервере и его подключение с использованием схем
3. Использование
4. Использование цепочек фильтров PHP (
5. Использование схемы
#вопросы_с_собесов
1. Запись PHP-кода в локальный файл и его подключение через абсолютные пути, обход директорий или схему
file://
.2. Размещение PHP-кода на удаленном сервере и его подключение с использованием схем
http://
, ftp://
и т. д.3. Использование
php://input
для чтения и выполнения необработанного PHP-кода из тела POST-запроса.4. Использование цепочек фильтров PHP (
php://filter
) для создания исполняемого PHP-кода.5. Использование схемы
data://
для передачи необработанного PHP-кода как обычного текста или в виде строки, закодированной в Base64.#вопросы_с_собесов
👍2
💬 Опишите несколько методов обхода HTTP-ответа 403 Forbidden.
🔸 Использование различных HTTP-методов (например, POST вместо GET) или переопределения заголовков/URL-параметров (например,
🔸 Использование HTTP-заголовков
🔸 Управление путем URL-адреса с помощью directory traversal, изменения регистра, добавления символов, URL-кодирования и других способов
#вопросы_с_собесов
🔸 Использование различных HTTP-методов (например, POST вместо GET) или переопределения заголовков/URL-параметров (например,
X-HTTP-Method
), если сервер их поддерживает🔸 Использование HTTP-заголовков
Client Origin
(например, X-Forwarded-For
) для подделки исходного IP-адреса в обход черных списков IP-адресов🔸 Управление путем URL-адреса с помощью directory traversal, изменения регистра, добавления символов, URL-кодирования и других способов
#вопросы_с_собесов
👍6🎉3
💬 Что такое GraphQL batching и как ее можно использовать для обхода ограничения скорости?
GraphQL batching (пакетная обработка) позволяет отправлять несколько запросов или мутаций на эндпоинт GraphQL в одном запросе, используя массивы или псевдонимы. После чего каждый запрос/мутация выполняется, и в ответ возвращается набор результатов.
Это позволяет обойти ограничение скорости, потому что вместо отправки n запросов на определенный эндпоинт можно отправить один запрос, содержащий
👉 Подробнее
#вопросы_с_собесов
GraphQL batching (пакетная обработка) позволяет отправлять несколько запросов или мутаций на эндпоинт GraphQL в одном запросе, используя массивы или псевдонимы. После чего каждый запрос/мутация выполняется, и в ответ возвращается набор результатов.
Это позволяет обойти ограничение скорости, потому что вместо отправки n запросов на определенный эндпоинт можно отправить один запрос, содержащий
n
запросов/мутаций.👉 Подробнее
#вопросы_с_собесов
👍3🔥2
💬 Для чего используется заголовок Sec-WebSocket-Key?
Если клиент не получает от сервера правильно хешированную версию ключа, он не продолжает настройку веб-сокета.
#вопросы_с_собесов
key
не имеет ничего общего с безопасностью или шифрованием. Поскольку веб-сокеты создаются с использованием начального HTTP-запроса, заголовок Sec-WebSocket-Key
используется клиентом для проверки поддержки веб-сокета сервером. Если клиент не получает от сервера правильно хешированную версию ключа, он не продолжает настройку веб-сокета.
#вопросы_с_собесов
❤2