Вот что у человека могло случиться в 05:33, что внезапно понадобился взлом ТГ? В 5 утра, Карл...
#memes
@coffee_cube
#memes
@coffee_cube
1🗿7🥰1😁1👨💻1💅1
Привет^3🦠
Сегодня покажу вам разбор несложной малвари под
Реверс-инжиниринг помогает разобраться в том, как работает ВПО(вредоносное программное обеспечение). Более подробно можно почитать туть.
При анализе малвары мне нравится извелкать интересные приемы, которые в ней используются. А далее воспроизводить их для дальнейшего детектаи забавы ради.
Обычно проводится статический и динамический анализ для полного понимания алгоритма работы программы.
В этом посте я проведу статический анализ. Динамический анализ и небольшой интерактивчик будет на следующей неделе:3
▪︎ Первым делом
Обычно я смотрю файл через утилиту Detect It Easy. Вот ее вывод:
Выглядит так, что таблица символов не удалена, поэтому можно сразу найти
▪︎ main
В функции
Далее в бесконечном цикле вызывается функция
▪︎ do_heartbeat()
Из функции можно извлечь все директории, с которыми малвара взимодействует. (скриншот 2)
▪︎ find
Конечно же следом пойду смотреть фунцию
Алгоритм функции достаточно простой:
1. Открывает директорию и проходится по всем файлам в ней. Если это
2. Вызвает функцию
3. Далее происходит вызов
▪︎ CreatRadMe
Ничего особо интересного тут нет. Просто создается файл со следующим содержанием. (скриншот 4)
▪︎ EncrFile
Думаю, что ключевая функция во всем малваре -
По сути для файла изменяются права с помощью
Файл шифрутеся с помощью алгоритма
▪︎ Итог
Я провел статический анализ не сложного шифровальщика-демона(такие бываю не часто, но об этом напишу позже❤️). Так как ключ хранится рядом с зашифрованным файлом, то мы можем написать дешифровшик. Динамическим анализом и написанием дешифровшика мы займемся в следующий вторник. Так что ожидайте с нетерпением:3
#malware #linux
@coffee_cube
Сегодня покажу вам разбор несложной малвари под
Linux.Реверс-инжиниринг помогает разобраться в том, как работает ВПО(вредоносное программное обеспечение). Более подробно можно почитать туть.
При анализе малвары мне нравится извелкать интересные приемы, которые в ней используются. А далее воспроизводить их для дальнейшего детекта
Обычно проводится статический и динамический анализ для полного понимания алгоритма работы программы.
В этом посте я проведу статический анализ. Динамический анализ и небольшой интерактивчик будет на следующей неделе:3
▪︎ Первым делом
Обычно я смотрю файл через утилиту Detect It Easy. Вот ее вывод:
Info:
Size: 1028096
File type: ELF32
String: ELF(386)
Extension: elf
Operation system: Red Hat Linux(ABI: 2.6.9)
Architecture: 386
Mode: 32-bit
Type: EXEC
Endianness: LE
Выглядит так, что таблица символов не удалена, поэтому можно сразу найти
main. Закидываб бинарь в IDA Pro▪︎ main
В функции
main происходит создание процесса-демона с вызовом chroot() в корневую директорию /. (скриншот 1)Далее в бесконечном цикле вызывается функция
do_heartbeat().▪︎ do_heartbeat()
Из функции можно извлечь все директории, с которыми малвара взимодействует. (скриншот 2)
/u01, /u02, /u03, /u04 - это часто используемые точки монтирования в Linux при работе с базами данных Oracle.▪︎ find
Конечно же следом пойду смотреть фунцию
find. (скриншот 3)Алгоритм функции достаточно простой:
1. Открывает директорию и проходится по всем файлам в ней. Если это
. или .., то их пропускает;2. Вызвает функцию
CreatRadMe (да-да, это не опечатка). По названию понятно, что создается README файл (скриншот 4);3. Далее происходит вызов
EncrFile, если не находит подстроку C_I_0P в пути до файла. Если же это директория, то рекурсивно вызывается find;▪︎ CreatRadMe
Ничего особо интересного тут нет. Просто создается файл со следующим содержанием. (скриншот 4)
▪︎ EncrFile
Думаю, что ключевая функция во всем малваре -
EncrFile. (скриншот 5)По сути для файла изменяются права с помощью
chmod() на rw-------. Эти же права используются далее для работы с файлами. Файл шифрутеся с помощью алгоритма
rc4. Ключ генерируется для каждого файла отдельно, и, что интересно, записывается в файл рядом с раширением .C_I_0P с помощью функции CreateKey. Это означает, что получится эти файлы расшифровать) При этом шифруется максимум 100000000 байт файла.▪︎ Итог
Я провел статический анализ не сложного шифровальщика-демона(такие бываю не часто, но об этом напишу позже❤️). Так как ключ хранится рядом с зашифрованным файлом, то мы можем написать дешифровшик. Динамическим анализом и написанием дешифровшика мы займемся в следующий вторник. Так что ожидайте с нетерпением:3
#malware #linux
@coffee_cube
1🤝5👨💻4❤2👍2✍1❤🔥1
Привет^3
Сегодня продолжим разбираться в
✍️Что такое SQL инъекция
Логично предположить, что далеко не всегда сайт отображает ошибку при выполнение запроса. Такие уязвимости все еще можно эксплуатировать. У них даже есть отдельное название -
Для того, чтобы ее найти, необходимо отслеживать изменения при отправке различных запросов: отсутствие части информации, появление новых элементов, отсутствие контента.
Поиск слепой инъекции начинается с определения параметров и использования логических операторов.
▪︎ascii
Одной из техник является использование функции
Зачем это нам нужно? В комбинации с функцией
Синтаксис
Пример полезной нагрузки:
В случае успешного выполнения условия мы увидим изменение на странице. Чтобы не перебирать все символы линейно, можно использовать алгоритм бинарного поиска)
Список разборов:
✏️Blind SQL injection with conditional errors
✏️Blind SQL injection with conditional responses
✏️Blind SQL injection with out-of-band data exfiltration
✏️Blind SQL injection with out-of-band interaction
✏️Blind SQL injection with time delays and information retrieval
✏️Blind SQL injection with time delays
#writeup #web
@coffee_cube
Сегодня продолжим разбираться в
SQL-инъекциях дальше. Предыдущие разборы можно посмотреть туть:✍️Что такое SQL инъекция
Логично предположить, что далеко не всегда сайт отображает ошибку при выполнение запроса. Такие уязвимости все еще можно эксплуатировать. У них даже есть отдельное название -
Blind. А значить для SQL-инъекции название будет Blind SQL-инъекция.Для того, чтобы ее найти, необходимо отслеживать изменения при отправке различных запросов: отсутствие части информации, появление новых элементов, отсутствие контента.
Поиск слепой инъекции начинается с определения параметров и использования логических операторов.
▪︎ascii
Одной из техник является использование функции
ascii. Она возвращает значение ASCII для конкретного строчного символа. Возвращает 0, если str - пустая строка.
SELECT ASCII('a');
Зачем это нам нужно? В комбинации с функцией
SUBSTRING, которая извлекает подстроку из строки начиная с любой позиции, мы можем извлекать по одному символу из таблицы и сравнивать его с кодом ascii.Синтаксис
SUBSTRING:
SUBSTRING(string, start, length)
Пример полезной нагрузки:
1' and ascii(substring((select database()),1, 1))>97--+
В случае успешного выполнения условия мы увидим изменение на странице. Чтобы не перебирать все символы линейно, можно использовать алгоритм бинарного поиска)
Список разборов:
✏️Blind SQL injection with conditional errors
✏️Blind SQL injection with conditional responses
✏️Blind SQL injection with out-of-band data exfiltration
✏️Blind SQL injection with out-of-band interaction
✏️Blind SQL injection with time delays and information retrieval
✏️Blind SQL injection with time delays
#writeup #web
@coffee_cube
❤3❤🔥2👍1👨💻1
Привет^3
Это второй пост про анализ шифровальщика
В данном разборе я покажу, как для него можно написать дешифровщик. Так же приложу зашифрованные файлы, с которыми вы можете поиграться сами:3
✏️Читать далее
Файлы из статьи:
📄Зашифрованный файл
🔑Ключ от файла
#malware #linux #reverse
@coffee_cube
Это второй пост про анализ шифровальщика
Cl0p . Первый можно найти по этой ссылке: Cl0p. Статический анализ.В данном разборе я покажу, как для него можно написать дешифровщик. Так же приложу зашифрованные файлы, с которыми вы можете поиграться сами:3
✏️Читать далее
Файлы из статьи:
📄Зашифрованный файл
🔑Ключ от файла
#malware #linux #reverse
@coffee_cube
1👨💻3✍1❤🔥1
Привет^3 😈
Продолжаем копать в сторону
✍️Что такое SQL инъекция
✍️Blind SQL инъекции
Данная инъекция основана на объединении выборки данных с помощью
Если мы нашли уязвимый параметр и поняли, как обрамлять данные(например,
1. Определить количество колонок в оригинальном запросе;
2. Найти колонку, которая отображается на странице;
3. Начать вытаскивать данные о БД с помощью функций типа
Получаем названия БД
Выясняем название колонок
Вытаскиваем данные из таблцицы
Собрав информацию о БД мы можем вытаскивать нужные нам данные. А вот список разборов на лабы с данным типом уязвимости:
✏️SQL injection UNION attack, determining the number of columns returned by the query
✏️SQL injection UNION attack, finding a column containing text
✏️SQL injection UNION attack retrieving data from other tables
✏️SQL injection UNION attack retrieving multiple values in a single column
✏️SQL injection with filter bypass via XML encoding
✏️Visible error-based SQL injection
#web #writeup
@coffee_cube☕
Продолжаем копать в сторону
SQL-инъекций. На очереди UNION based injection. Предыдущие разборы можно посмотреть туть:✍️Что такое SQL инъекция
✍️Blind SQL инъекции
Данная инъекция основана на объединении выборки данных с помощью
UNION.
SELECT column_name FROM table1 UNION SELECT column_name FROM table2;
Если мы нашли уязвимый параметр и поняли, как обрамлять данные(например,
' или ", или вовсе без кавычек), дальше нужно:1. Определить количество колонок в оригинальном запросе;
2. Найти колонку, которая отображается на странице;
3. Начать вытаскивать данные о БД с помощью функций типа
database(), version() и т.д.Получаем названия БД
'-1' UNION SELECT TABLE_NAME, 2 FROM INFORMATION_SCHEMA.TABLES WHERE table_schema=database()--+
Выясняем название колонок
'-1' UNION SELECT COLUMN_NAME, 2 FROM INFORMATION_SCHEMA.COLUMNS WHERE TABLE_NAME=(SELECT TABLE_NAME, 2 FROM INFORMATION_SCHEMA.TABLES WHERE table_schema=database()--+)-- -
Вытаскиваем данные из таблцицы
'-1' UNION SELECT news,2 FROM table_name--+-
Собрав информацию о БД мы можем вытаскивать нужные нам данные. А вот список разборов на лабы с данным типом уязвимости:
✏️SQL injection UNION attack, determining the number of columns returned by the query
✏️SQL injection UNION attack, finding a column containing text
✏️SQL injection UNION attack retrieving data from other tables
✏️SQL injection UNION attack retrieving multiple values in a single column
✏️SQL injection with filter bypass via XML encoding
✏️Visible error-based SQL injection
#web #writeup
@coffee_cube☕
Please open Telegram to view this post
VIEW IN TELEGRAM
1❤2✍1❤🔥1👍1🔥1👨💻1
Привет^3
Мода добралась и до проездных. Очевидная выгода: 500 рублей всего за 700. Кому нужен✨ PODOROZHNIK✨ ?)
#memes
@coffee_cube
Мода добралась и до проездных. Очевидная выгода: 500 рублей всего за 700. Кому нужен
#memes
@coffee_cube
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
1🥰3😁3❤🔥1🐳1👻1
Привет^3😈
Поведаю вам историю. Наш главный герой рождается с миссией в жизни. Его родители исчезают. Осиротевшего ребенка подбирает одно из древнейших существ. Это существо оказывается прародителем демонов. Главный герой несет свою миссию до конца жизни или же пока мир не будет унчитожен)
Может показаться, что это сюжет какого-то анимешного исекая, но нет, это лишь описание
Додробнее про логику создания демона и шаблон на
✍️ Процесс-демон.
#linux #c
@coffee_cube
Поведаю вам историю. Наш главный герой рождается с миссией в жизни. Его родители исчезают. Осиротевшего ребенка подбирает одно из древнейших существ. Это существо оказывается прародителем демонов. Главный герой несет свою миссию до конца жизни или же пока мир не будет унчитожен)
Может показаться, что это сюжет какого-то анимешного исекая, но нет, это лишь описание
daemon-process в OC Linux, который мы видели в разборе Cl0p.Додробнее про логику создания демона и шаблон на
C вы можете посмотреть тут:#linux #c
@coffee_cube
Please open Telegram to view this post
VIEW IN TELEGRAM
1😎2❤🔥1👍1🔥1👨💻1🤝1
Привет^3
Продолжим разбираться в теме инъекций. Сегодня на очереди -
Это позволяет получить доступ к внутренним сервисам или ресурсам, а так же закрепиться в системе.
Пусть мы получаем информацию о пользователе по его
Если получения информации о пользователе происходит с помощью команды
Тогда на сервере будет выполнена следующая команда:
Примеры этой уязвимости можно посмотреть в разборах ниже:
✏️OS command injection, simple case
✏️Blind OS command injection with time delays
✏️Blind OS command injection with output redirection
✏️Blind OS command injection with out-of-band interaction
✏️Blind OS command injection with out-of-band data exfiltration
#web #writeup
@coffee_cube
Продолжим разбираться в теме инъекций. Сегодня на очереди -
OS Command injection, также известная как Shell Injection. С ее помощью можно выполнить команды операционной системы напрямую.Это позволяет получить доступ к внутренним сервисам или ресурсам, а так же закрепиться в системе.
Пусть мы получаем информацию о пользователе по его
id:
https://site.com/page?id=123
Если получения информации о пользователе происходит с помощью команды
OC, например cat <id from page>, тогда мы можем передать новую команду через разделитель:
https://site.com/page?id=123;whoami
Тогда на сервере будет выполнена следующая команда:
cat 123;whoami
Примеры этой уязвимости можно посмотреть в разборах ниже:
✏️OS command injection, simple case
✏️Blind OS command injection with time delays
✏️Blind OS command injection with output redirection
✏️Blind OS command injection with out-of-band interaction
✏️Blind OS command injection with out-of-band data exfiltration
#web #writeup
@coffee_cube
1❤🔥3✍1❤1👨💻1
Привет^3
Внезапно у меня в чате началась активность. Поэтому если есть желание пообщаться и обсудить
#info
@coffee_cube
Внезапно у меня в чате началась активность. Поэтому если есть желание пообщаться и обсудить
IT - залетайте сюда🎆#info
@coffee_cube
1👍3❤🔥2❤2👨💻1😎1
Привет^3
Прошло пол года с момента, как я договорился о 4-х дневке. В это время решил активно вести блог и выкладывать свой прогресс на пути изучения ИБ🔥
Итак, что же я имею:
💎 Прорешал 104 лабы из 269 и сделал для каждой райтап;
💎 Написал заметки для каждой из изученных тем;
💎 Увеличил количество подписчиков в блоге до 154;
💎 Выложил 55 постов);
💎 Внезапно поднял актив в чате);
💎 Начал вести большие исследования в свободное время, чтобы был материал для статей;
💎 Несколько раз поменял формат райтапов. Теперь они лежат на веб-страницах. Кстати, как вам❓
Я доволен результатом. Могло быть и лучше, но все мы люди. Только работать и учиться невозможно. Личные дела, лень и ютубчик иногда побеждали меня)
4-х дневка - это имба. Благодаря этому стал полностью отдыхать в воскресенье. В понедельник уже хочется сесть за работу. Так что могу назвать это успехом)
Считаю, что научился лучше формулировать мысли для райтапов. Кто не доволен, может скинуться мне на курсы по писательству))
Думаю, что имеет смысд спросить ваше мнение о блоге) Ну, так что скажете❓
@coffee_cube
Прошло пол года с момента, как я договорился о 4-х дневке. В это время решил активно вести блог и выкладывать свой прогресс на пути изучения ИБ
Итак, что же я имею:
Я доволен результатом. Могло быть и лучше, но все мы люди. Только работать и учиться невозможно. Личные дела, лень и ютубчик иногда побеждали меня)
4-х дневка - это имба. Благодаря этому стал полностью отдыхать в воскресенье. В понедельник уже хочется сесть за работу. Так что могу назвать это успехом)
Считаю, что научился лучше формулировать мысли для райтапов. Кто не доволен, может скинуться мне на курсы по писательству))
Думаю, что имеет смысд спросить ваше мнение о блоге) Ну, так что скажете
@coffee_cube
Please open Telegram to view this post
VIEW IN TELEGRAM
1🔥6❤🔥4😎2👨💻1
Привет^😈
Сегодня разберем уязвимость
- Код приложения и данные;
- Креды для
- Чувствительные файлы операционной системы;
В некоторых случаях получается изменить или создать файлы, чтобы изменить поведение программы и получить контроль над сервером.
✍️ Пример
Пусть у нас есть сайт с товарами. Не интересно просто читать про товары, поэтому у каждого товара есть одна или несколько фотографий, которые хранятся на сервере. Для их получения используется следующий запрос:
В качестве
Одним из интересных файлов на ОС
📚Подробнее разобраться с примерами можно в этой подборке лаб:
✏️File path traversal, simple case
✏️File path traversal, traversal sequences blocked with absolute path bypass
✏️File path traversal, traversal sequences stripped non-recursively
✏️File path traversal, traversal sequences stripped with superfluous URL-decode
✏️File path traversal, validation of file extension with null byte bypass
✏️File path traversal, validation of start of path
#web #writeup
@coffee_cube
Сегодня разберем уязвимость
Path Traversal. С ее помощью можно получить доступ к файлам и директориям, находящимся за пределами предполагаемой корневой директории веб-сервера. Например:- Код приложения и данные;
- Креды для
backend;- Чувствительные файлы операционной системы;
В некоторых случаях получается изменить или создать файлы, чтобы изменить поведение программы и получить контроль над сервером.
Пусть у нас есть сайт с товарами. Не интересно просто читать про товары, поэтому у каждого товара есть одна или несколько фотографий, которые хранятся на сервере. Для их получения используется следующий запрос:
https://some-store.com/?product_img=name
В качестве
name передается имя картинки, которую нужно загрузить. Если какая-либо проверка отсутствует, то мы можем передать вместо name любое свое значение и получить его, если такой файл существует(и к нему есть доступ).Одним из интересных файлов на ОС
Linux является /etc/passwd. Он точно есть в системе. Но логично предположить, что картинки у нас лежат не в корневой директории Linux. Может быть что-то типо /some-site/products/images/. На помощь приходят ../, которые позволяют нам обратиться к файлам в другой директории. Изменим запрос:
https://some-store.com/?product_img=../../../etc/passwd
📚Подробнее разобраться с примерами можно в этой подборке лаб:
✏️File path traversal, simple case
✏️File path traversal, traversal sequences blocked with absolute path bypass
✏️File path traversal, traversal sequences stripped non-recursively
✏️File path traversal, traversal sequences stripped with superfluous URL-decode
✏️File path traversal, validation of file extension with null byte bypass
✏️File path traversal, validation of start of path
#web #writeup
@coffee_cube
Please open Telegram to view this post
VIEW IN TELEGRAM
1🔥5❤🔥2👨💻1🤝1
Привет^3
Сегодня покажу вам утилиту, которую я всё чаще использую при решении лаб на
✍️ Что такое ffuf?
Это инструмент для фаззинга. С его помощью можно искать: скрытые директории и файлы, субдомены, параметры запроса и многое другое.
💡 В следующих райтапах она будет использоваться регулярно, так что советую освоить её сейчас - это упростит жизнь и сэкономит время.
Почитать про нее вы можете туть.
➥☕️ тг • 🤬 чатик • ✍️ посты
#web #tools
Сегодня покажу вам утилиту, которую я всё чаще использую при решении лаб на
PortSwigger - это ffuf.Это инструмент для фаззинга. С его помощью можно искать: скрытые директории и файлы, субдомены, параметры запроса и многое другое.
Почитать про нее вы можете туть.
➥
#web #tools
Please open Telegram to view this post
VIEW IN TELEGRAM
1❤🔥3✍1🔥1👨💻1
Привет^3
Сегодня поговорим про утечки информации(
💡 Это тип уязвимости, при котором на странице отображается чувствительная информация. Это может быть:
➖ данные о других пользователях (имя, финансовая информация и т.д.),
➖ коммерческая информация,
➖ технические детали сайта или инфраструктуры.
Такая уязвимость не всегда приводит к прямому ущербу, но полученные с её помощью данные могут помочь в дальнейшем атакующему - например, для подбора векторов атак.
✍️ Где можно встретить
➖ в вспомогательных файлах (
➖ в случайно доступных внутренних файлах;
➖ в комментариях разработчиков;
➖ в сообщениях об ошибках;
➖ в отладочной информации;
➖ на страницах пользователей;
➖ в резервных копиях;
➖ в
Один из способов выявить такие уязвимости - фаззинг. В прошлом посте я рассказывал об удобном инструменте для этого. Если ещё не смотрели - обязательно загляните. В райтапах я часто использую именно его.
✍️ А потренироваться и пощупать
✏️Authentication bypass via information disclosure
✏️Information disclosure in error messages
✏️Information disclosure in version control history
✏️Information disclosure on debug page
✏️Source code disclosure via backup files
➥☕️ тг • 🤬 чатик • ✍️ посты
#web #writeup
Сегодня поговорим про утечки информации(
Information Disclosure).Такая уязвимость не всегда приводит к прямому ущербу, но полученные с её помощью данные могут помочь в дальнейшем атакующему - например, для подбора векторов атак.
Information Disclosure:/robots.txt, /sitemap.xml);.git-директориях.Один из способов выявить такие уязвимости - фаззинг. В прошлом посте я рассказывал об удобном инструменте для этого. Если ещё не смотрели - обязательно загляните. В райтапах я часто использую именно его.
Information Disclosure можно вот тут:✏️Authentication bypass via information disclosure
✏️Information disclosure in error messages
✏️Information disclosure in version control history
✏️Information disclosure on debug page
✏️Source code disclosure via backup files
➥
#web #writeup
Please open Telegram to view this post
VIEW IN TELEGRAM
1👍4❤2✍1👨💻1
Привет^3🔑
По вашим просьбам начинаем серию постов по криптографии и атакам на криптоалгоритмы. Информационная безопасность — это про практику. Поэтому учиться будем на реальных задачах с платформы CryptoHack.
Я буду периодически выкладывать райтапы на задания. Но просто решать - скучно. Вместе с этим мы будем реализовывать встречающиеся алгоритмы на
⭐️ Новички, настало ваше время. Всё будет с нуля и с пояснениями.⭐️
✍️ Начнём с простого:
✏️ASCII
✏️Hex
➥☕️ тг • 🤬 чатик • ✍️ посты
#crypto #writeup
По вашим просьбам начинаем серию постов по криптографии и атакам на криптоалгоритмы. Информационная безопасность — это про практику. Поэтому учиться будем на реальных задачах с платформы CryptoHack.
Я буду периодически выкладывать райтапы на задания. Но просто решать - скучно. Вместе с этим мы будем реализовывать встречающиеся алгоритмы на
Python, чтобы разобраться в них глубже.✏️ASCII
✏️Hex
➥
#crypto #writeup
Please open Telegram to view this post
VIEW IN TELEGRAM
1🔥9👏5❤4👍1😎1
Привет^3
Сегодня расскажу вам про уязвимость контроля доступа.
❓ Что это вообще такое?
Контроль доступа — это механизм, устанавливающий ограничения на то, кто или что имеет разрешение выполнять определённые действия или получать доступ к ресурсам. В контексте веб-приложений контроль доступа зависит от аутентификации и управления сеансами:
➖ Authentication — подтверждает, что пользователь действительно тот, за кого себя выдаёт.
➖ Session management — определяет, какие последующие HTTP-запросы относятся к текущему пользователю.
➖ Access control — решает, разрешено ли пользователю выполнить определённое действие.
📖 Уязвимость: Insecure Direct Object Reference (IDOR)
Одной из распространённых уязвимостей в этой категории является Insecure Direct Object Reference (IDOR). Она возникает, когда данные, передаваемые от клиента, напрямую используются для доступа к объектам на сервере — без достаточной проверки прав доступа.
✍️ Пример
Представим, что сайт использует
Если сервер просто подставляет это значение и вытаскивает данные из базы без дополнительных проверок - можно изменить
✍️ Изучить подробнее данные уязвимости можно в лабах ниже:
✏️Unprotected admin functionality
✏️Unprotected admin functionality with unpredictable URL
✏️User ID controlled by request parameter
✏️User ID controlled by request parameter with data leakage in redirect
✏️User ID controlled by request parameter with password disclosure
✏️User ID controlled by request parameter, with unpredictable user IDs
✏️User role can be modified in user profile
✏️User role controlled by request parameter
➥☕️ тг • 🤬 чатик • ✍️ посты
#web #writeup
Сегодня расскажу вам про уязвимость контроля доступа.
Контроль доступа — это механизм, устанавливающий ограничения на то, кто или что имеет разрешение выполнять определённые действия или получать доступ к ресурсам. В контексте веб-приложений контроль доступа зависит от аутентификации и управления сеансами:
Одной из распространённых уязвимостей в этой категории является Insecure Direct Object Reference (IDOR). Она возникает, когда данные, передаваемые от клиента, напрямую используются для доступа к объектам на сервере — без достаточной проверки прав доступа.
Представим, что сайт использует
URL-параметр для получения информации об учётной записи пользователя:
https://some-site.com/account?id=1337
Если сервер просто подставляет это значение и вытаскивает данные из базы без дополнительных проверок - можно изменить
id на чужой (id=1338, id=1 и т.д.) и получить доступ к информации других пользователей.✏️Unprotected admin functionality
✏️Unprotected admin functionality with unpredictable URL
✏️User ID controlled by request parameter
✏️User ID controlled by request parameter with data leakage in redirect
✏️User ID controlled by request parameter with password disclosure
✏️User ID controlled by request parameter, with unpredictable user IDs
✏️User role can be modified in user profile
✏️User role controlled by request parameter
➥
#web #writeup
Please open Telegram to view this post
VIEW IN TELEGRAM
1❤6👍3🔥2✍1👨💻1