Привет^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
Привет^3☕️
Говорить только про информационную безопасность - скучно. Давайте продолжим знакомство)
Сегодня расскажу про название моего блога -
1️⃣ Когда мне было 11, я случайно наткнулся на магазин с головоломками. Всегда их любил, поэтому сразу помчался к нему. Там я впервые взял в руки кубик Рубика. Это был
Первую сборку я делал часов 6. С тех пор - не отпускает. Собирал его везде: на переменах, на улице, дома.Почти как сейчас все с телефонами
Позже, в одной из игр мой обычный ник оказался занят. На глаза попался кубик - и так появился мой ник cube. С тех пор использую его почти везде.
2️⃣ Перейдем ко второй части названия -
🎆 Вот так две части моей жизни соединились в название моего блога. Теперь вы знаете меня чуть лучше. Буду рад услышать про ваши интересы в комментариях) Так что жду вас там)
➥☕️ тг • 🤬 чатик • ✍️ посты
#мюсли
Говорить только про информационную безопасность - скучно. Давайте продолжим знакомство)
Сегодня расскажу про название моего блога -
Coffee Cube. Начнём с исторической части.Dayan 3, так что страдать от "оригинального произведения искусства" мне не пришлось)Первую сборку я делал часов 6. С тех пор - не отпускает. Собирал его везде: на переменах, на улице, дома.
Позже, в одной из игр мой обычный ник оказался занят. На глаза попался кубик - и так появился мой ник cube. С тех пор использую его почти везде.
Coffee. В 14 лет родители купили кофе-машину. Я получил доступ к нормальному, а не растворимому кофе. Постигая кнопки на ней и инструкцию, я стал пытаться готовить разные напитки. Узнал отличие латте от капучино. Узнавал разные рецепты. Постепенно стали покупать сиропы для напитков. В итоге я увлекся кофе, кулинарией и коктейлями) Шло время, рос я, рос и мой интерес к кофе. Латте уже был для меня скучным. Стал изучить альтернативные методы заваривания кофе: френч-пресс, аэроперсс, воронка и т.д. Даже успел 2 месяца поработать бариста)➥
#мюсли
Please open Telegram to view this post
VIEW IN TELEGRAM
10❤12👍3❤🔥1⚡1🐳1👾1
Привет^3
✍️ Продолжим тему предыдущего поста. Контроль доступа может осуществляться разным образом. Например на основе заголовка
📌 Пример:
Приложение применяют надежную защиту на контроль доступа к странице
В случае, если получится контролировать заголовок
🌐 Могут даже встретиться случаи контроля доступа по геолокации. Даже не понятно, как такое обходить... VPN
✍️ Более подробно можно посмотреть в лабах:
✏️Method-based access control can be circumvented
✏️Multi-step process with no access control on one step
✏️Referer-based access control
✏️URL-based access control can be circumvented
➥☕️ тг • 🤬 чатик • ✍️ посты
#web #writeup
Referer. Заголовок может добавляться браузерами для передачи страницы, с которой был совершен запрос.Приложение применяют надежную защиту на контроль доступа к странице
/admin, но не обращает внимание на /admin/deleteUser и другие подстраницы, проверяя лишь заголовок Referer. Если заголовок содержит значение /admin, то запрос разрешен.В случае, если получится контролировать заголовок
Referer, то можно получить доступ к функциям админа.✏️Method-based access control can be circumvented
✏️Multi-step process with no access control on one step
✏️Referer-based access control
✏️URL-based access control can be circumvented
➥
#web #writeup
Please open Telegram to view this post
VIEW IN TELEGRAM
1❤5✍1👨💻1
Привет^3
Сегодня обсудим довольно интересную уязвимость:
💡 Что это такое?
Это атака, при которой злоумышленник может заставить закэшировать приватные данные как будто это статический файл. В итоге любой человек, перейдя по такой же ссылке, сможет получить эти данные.
🧩 В чем суть?
Веб-приложения часто кэшируют файлы с определёнными расширениями, например:
➖
➖
➖
➖
Если сервер не различает настоящие и поддельные статические ресурсы, он может случайно закэшировать динамический и чувствительный ответ.
📎 Пример
Допустим, у нас есть банковское приложение по адресу:
У каждого пользователя есть личная страница:
Где
В обычных условиях другой пользователь не может получить доступ к этой странице.
Но если кэш настроен неправильно и смотрит только на расширение
1️⃣ Сформировать ссылку с кэшируемым расширением:
2️⃣ Отправить её владельцу профиля с
3️⃣ Он переходит по ссылке, сервер отдает содержимое и кэширует его;
4️⃣ Мы переходим по той же ссылке и получаем его данные из кэша;
✍️ Посмотреть разные варианты эксплуатации можно в следующих лабах:
✏️ Exploiting cache server normalization for web cache deception
✏️ Exploiting origin server normalization for web cache deception
✏️ Exploiting path delimiters for web cache deception
✏️ Exploiting path mapping for web cache deception
➥☕️ тг • 🤬 чатик • ✍️ посты
#web #writeup
Сегодня обсудим довольно интересную уязвимость:
Web Cache Deception.Это атака, при которой злоумышленник может заставить закэшировать приватные данные как будто это статический файл. В итоге любой человек, перейдя по такой же ссылке, сможет получить эти данные.
Веб-приложения часто кэшируют файлы с определёнными расширениями, например:
.js.css.ico.exeЕсли сервер не различает настоящие и поддельные статические ресурсы, он может случайно закэшировать динамический и чувствительный ответ.
Допустим, у нас есть банковское приложение по адресу:
https://purple.bank.ru
У каждого пользователя есть личная страница:
https://purple.bank.ru/profile/1234
Где
1234 - это ID клиента.В обычных условиях другой пользователь не может получить доступ к этой странице.
Но если кэш настроен неправильно и смотрит только на расширение
URL, можно сделать следующее:
https://purple.bank.ru/profile/1234.js
ID 1234;➥
#web #writeup
Please open Telegram to view this post
VIEW IN TELEGRAM
3⚡6❤🔥2🔥2👨💻1🤝1
Привет^3
Вы не просили и не ждали, а я всё равно сделал. Ловите пост про 🧙
❓ С чего начать?
Для того, чтобы заниматься реверсом, не плохо было бы понимать синтаксис языка
Так вот, я буду иногда писать про
Для знакомства с языком очень рекомендую книгу🤓
⛏ Инструменты
Понадобится дизассемблер. Вот популярные:
➖
➖
➖
➖
Так что не вздумай искать их с припиской
📕 О чём будут посты?
Хочу писать про реверс и вирусную аналитику, но понимаю, что для многих это пока тёмный лес. Будемс исправлять.
Планирую делать райтапы на задачи с
Когда-то сам на них учился, пока искал свою первую работу. Не видел по ним хороших разборов - так что сделаю их сам.
🐙 Да начнётся же путь в бездну:
✏️Nostr 1
✏️Nostr 2
✏️task3
Жду ваши вопросы и замечания в комментах🐈⬛️
➥☕️ тг • 🤬 чатик • ✍️ посты
#reverse #writeup
Вы не просили и не ждали, а я всё равно сделал. Ловите пост про 🧙
Reverse Engineering💫Для того, чтобы заниматься реверсом, не плохо было бы понимать синтаксис языка
C. Так как читать вам прийдется его... Много читать... В очень плохом качестве... Будто бы код писал какой-то сумасшедший...Так вот, я буду иногда писать про
C, но это будут посты о его особенностях или применении в малварных техниках.Для знакомства с языком очень рекомендую книгу
"Язык программирования C" - Брайан Керниган и Деннис Ритчи.Понадобится дизассемблер. Вот популярные:
IDA ProGhidraBinary NinjaCutterGhidra и Cutter - бесплатны. Остальные требуют лицензию.Так что не вздумай искать их с припиской
+ кряк или скачать бесплатно. Это пиратство, а ещё потенциальный путь к вирусам. Я предупредил)Хочу писать про реверс и вирусную аналитику, но понимаю, что для многих это пока тёмный лес. Будемс исправлять.
Планирую делать райтапы на задачи с
SPbCTF по реверсу: 🔗 Лабки по реверсуКогда-то сам на них учился, пока искал свою первую работу. Не видел по ним хороших разборов - так что сделаю их сам.
✏️Nostr 1
✏️Nostr 2
✏️task3
Жду ваши вопросы и замечания в комментах
➥
#reverse #writeup
Please open Telegram to view this post
VIEW IN TELEGRAM
3❤7🔥5👍3🤔1👨💻1
This media is not supported in your browser
VIEW IN TELEGRAM
Привет^3 ☕️
Загрузка файлов... Вроде как здорово, но есть нюанс. Через них можно запустить скрипты и скомуниздить информацию с сервера. Заинтриговал? Давайте разбираться.
❓ Что? Где? Когда?
Данная уязвимость возникает в случаях, когда веб-сервер позволяет загрузить файл без валидации имени, типа, содержания или размера.
Если говорить проще: мы пытаемся найти такое расширение файла, которое сервер пропускает, а сам файл может помочь нам получить информацию или запустить скрипт.
Вот туть можно найти кучу примеров разных расширений, которые можноотправлять другу использовать для тестирования)
✍️ Пример
Давайте разберемся на примере. На сервере есть ендпоинт
Тело запроса разделено на части. У каждой есть заголовок
При валидации сервер может ожидать только конкретные значения поля
📌Можете пощупать эту уязвимость в данных лабах:
✏️ Remote code execution via web shell upload
✏️ Web shell upload via Content-Type restriction bypass
✏️ Web shell upload via path traversal
➥☕️ тг • 🤬 чатик • ✍️ посты
#web #writeup
Загрузка файлов... Вроде как здорово, но есть нюанс. Через них можно запустить скрипты и скомуниздить информацию с сервера. Заинтриговал? Давайте разбираться.
Данная уязвимость возникает в случаях, когда веб-сервер позволяет загрузить файл без валидации имени, типа, содержания или размера.
Если говорить проще: мы пытаемся найти такое расширение файла, которое сервер пропускает, а сам файл может помочь нам получить информацию или запустить скрипт.
Вот туть можно найти кучу примеров разных расширений, которые можно
Давайте разберемся на примере. На сервере есть ендпоинт
/images, который позволяет загрузить картинку на сервер. Запрос может выглядеть вот так:
POST /images HTTP/1.1
Host: normal-website.com
Content-Length: 12345
Content-Type: multipart/form-data; boundary=---------------------------012345678901234567890123456
---------------------------012345678901234567890123456
Content-Disposition: form-data; name="image"; filename="my_nudes.jpg"
Content-Type: image/jpeg
[...my_nudes.jpg...]
---------------------------012345678901234567890123456
Content-Disposition: form-data; name="description"
Can't touch this
---------------------------012345678901234567890123456
Content-Disposition: form-data; name="username"
cu63
---------------------------012345678901234567890123456--
Тело запроса разделено на части. У каждой есть заголовок
Content-Disposition, который содержит информацию о передаваемых данных. Каждая часть так-же может содержать собственное поле Content-Type, описывающее MIME переданных данных.При валидации сервер может ожидать только конкретные значения поля
Content-Type. Например, при работе только с картинками ожидаемо получить image/jpeg и image/png. Проблемы могут возникнуть, если сервер неявно доверяет значению этого заголовка. Если дальше нет проверки на то, что данные действительно относятся к указанному типу, то мы можем загрузить что угодно, например php-скрпит, который отобразит нужный нам файл:
<?php echo file_get_contents('/path/to/target/file'); ?>
📌Можете пощупать эту уязвимость в данных лабах:
✏️ Remote code execution via web shell upload
✏️ Web shell upload via Content-Type restriction bypass
✏️ Web shell upload via path traversal
➥
#web #writeup
Please open Telegram to view this post
VIEW IN TELEGRAM
2❤6👾2✍1👨💻1
This media is not supported in your browser
VIEW IN TELEGRAM
Привет^3☕️
Недавно в чате меня спросили про взлом архивов. Задача то не сложная. Но отличный повод, чтобы познакомиться с утилитой
Все подробности описал в небольшой статейке.
Ссылки из статьи:
➖Архив их статьи
➖Примеры хешей
➖Словари
➖Rockoyou
Кстати, первый, кто пришлет флаг из архива мне в лс, может расчитывать на приз:3🎆 А все, а раньше думать надо было, приз забрала @Yuki_S_03
П.С: Это рандомное видое из интернета, я бы таким заниматься не стал)
➥☕️ тг • 🤬 чатик • ✍️ посты
#crypto #crackme
Недавно в чате меня спросили про взлом архивов. Задача то не сложная. Но отличный повод, чтобы познакомиться с утилитой
hashcat.🐈⬛hashcat используется для восстановления паролей. Если говорить точнее, то можно подбирать пароль с помощью вордлистов или брутфорсом зная хеш пароля.Все подробности описал в небольшой статейке.
Ссылки из статьи:
➖Архив их статьи
➖Примеры хешей
➖Словари
➖Rockoyou
Кстати, первый, кто пришлет флаг из архива мне в лс, может расчитывать на приз:3
П.С: Это рандомное видое из интернета, я бы таким заниматься не стал)
➥
#crypto #crackme
Please open Telegram to view this post
VIEW IN TELEGRAM
5❤5👍2😭2👨💻1
Привет^3☕️
Было бы глупо предположить, что разработчики не задумывались о способах защиты от уязвимостей при загрузке файлов (ну пожалуйста ).
Сегодня поговорим об обходах различных методов защиты.
👎 Блеклист
Звучит здорово. Если мы не хотим получить какой-то файл, то просто запретим его.🎆 ГЕНИАЛЬНО!🎆
Но есть нюанс: вы запретили
Обойти блеклист вполне реально - нужно лишь попробовать достаточное количество расширений.
Лучше использовать вайтлисты: Надо - разрешил. Вот и все.
🗿 Покажите на что вы способны
Окей, вы используете вайтлист. Молодцы. Защищены ли вы теперь? Нуууу нет. Как так вышло?
При обработке файла может выполняться нормализация пути.
Если валидация происходит до нормализации, то может случиться магия - и вы потеряете часть имени файла.
📌Например:
символ
Во многих языках программирования он означает конец строки.
Файл с именем
Защита: проверяйте подозрительные символы в передаваемых путях.
💃 Вы хотите веселья? Их есть у меня
Есть такие интересные файлы — полиглоты.
Они изменяют свое поведение в зависимости от того, кто и как их открывает.
Это может сработать, если проверяется не только расширение, но и содержимое (меджик, хедер или футер).
Тема интересная, думаю, стоит поговорить о таких файлах в отдельном посте.
🛡 Рекомендуемые способы защиты
➖ Проверять расширение по вайтлисту, а не по блеклисту. Проще выбрать допустимые расширения, чем запрещать всё потенциально опасное.
➖ Проверять имя файла на наличие подозрительных подстрок.
➖ Переименовывать загруженные файлы, чтобы избежать коллизий.
➖ Не загружать файлы в постоянную файловую систему, пока они не будут проверены.
➖ Использовать встроенные функции проверки файлов, а не писать кастомные.
✍️ Самостоятельно попробовать разные обходы можно в данных лабах:
✏️Web shell upload via extension blacklist bypass
✏️Web shell upload via obfuscated file extension
✏️Remote code execution via polyglot web shell upload
➥☕️ тг • 🤬 чатик • ✍️посты
#web #writeup
Было бы глупо предположить, что разработчики не задумывались о способах защиты от уязвимостей при загрузке файлов (
Сегодня поговорим об обходах различных методов защиты.
Звучит здорово. Если мы не хотим получить какой-то файл, то просто запретим его.
Но есть нюанс: вы запретили
.html, а вот к вам уже летит .xhtml. Здорово...Обойти блеклист вполне реально - нужно лишь попробовать достаточное количество расширений.
Лучше использовать вайтлисты: Надо - разрешил. Вот и все.
Окей, вы используете вайтлист. Молодцы. Защищены ли вы теперь? Нуууу нет. Как так вышло?
При обработке файла может выполняться нормализация пути.
Если валидация происходит до нормализации, то может случиться магия - и вы потеряете часть имени файла.
📌Например:
символ
\0 можно закодировать в URL как %00. Во многих языках программирования он означает конец строки.
Файл с именем
file.py%00.png может пройти вайтлистинг, а при нормализации превратиться в file.py.Защита: проверяйте подозрительные символы в передаваемых путях.
Есть такие интересные файлы — полиглоты.
Они изменяют свое поведение в зависимости от того, кто и как их открывает.
Это может сработать, если проверяется не только расширение, но и содержимое (меджик, хедер или футер).
Тема интересная, думаю, стоит поговорить о таких файлах в отдельном посте.
✏️Web shell upload via extension blacklist bypass
✏️Web shell upload via obfuscated file extension
✏️Remote code execution via polyglot web shell upload
➥
#web #writeup
Please open Telegram to view this post
VIEW IN TELEGRAM
2❤7👍2❤🔥1✍1😎1
Привет^3✨
Вторая часть гайда по обмену души на навыки реверса.😵 В данной лабе мы вспомним, что алгоритмы очень важно знать. Вернемся к истокам и реализуем всемогущий Bubble sort.🧙
❓ Можно подсказку?❓
Конечно можно, но не про лабу) Настоятельно рекомендую переименовывать переменные, функции и оставлять комментарии прямо в дизассемблере. Так же удобно пользоваться закладками и метками.
А зачем? Нада...😳 Каждая названная функция и переменная может помочь с пониманием контекста и алгоритма.
🤌На что стоит обратить внимание:
➖ строки в коде;
➖ вызовы
➖ сообщения об ошибках, которые могут содержать имена функций для отладки.
✍️ Примеры
или
Лаба не очень сложная, но все же рекомендую потыкать ее ручкам ну или лапками(такое тоже было). В путь: spbctf_4_x86_64
➥☕️ тг • 🤬 чатик • ✍️ посты
#reverse #writeup
Вторая часть гайда по обмену души на навыки реверса.
Конечно можно, но не про лабу) Настоятельно рекомендую переименовывать переменные, функции и оставлять комментарии прямо в дизассемблере. Так же удобно пользоваться закладками и метками.
А зачем? Нада...
🤌На что стоит обратить внимание:
printf и scanf (по форматированной строке можно понять тип переменной и даже имя);
printf("Login %s, passwd %s\n", some_var, another_var);
или
fprintf(stderr, "payload_dec error: ...\n");
Лаба не очень сложная, но все же рекомендую потыкать ее ручкам ну или лапками(такое тоже было). В путь: spbctf_4_x86_64
➥
#reverse #writeup
Please open Telegram to view this post
VIEW IN TELEGRAM
7🔥4❤1❤🔥1👨💻1😎1
Привет^3☕️
❓ SSRF — кто ты такой?❓
👊 Чем это грозит?
С помощью данной уязвимости можно:
➖ Прочитать локальные файлы
➖ Получить доступ к внутренним системам
➖ Обойти ограничения
➖ Просканировать внутреннюю сеть
Куда мы без примера-то
В атаке
Предположим, сайт магазина позволяет просматривать товары. Для этого фронтенд дергает
Можно модифицировать этот запрос и направить его на другой
Теперь сервер запросит содержимое
🍪 Печеньки Практика
Потрогать руками этот тип уязвимости можно в следующих лабах:
✏️Basic SSRF against another back-end system
✏️Basic SSRF against the local server
✏️Blind SSRF with out-of-band detection
✏️SSRF with blacklist-based input filter
✏️SSRF with filter bypass via open redirection vulnerability
➥☕️ тг • 🤬 чатик • ✍️ посты
#web #writeup
Server-Side Request Forgery или подделка запроса на стороне сервера — это уязвимость веб-приложения, которая заставляет сервер отправлять запросы в несанкционированные места. В типичной атаке сервер вынуждают подключаться к сервисам, доступным только внутри инфраструктуры организации. В других случаях можно достучаться и до внешних систем. Итог — утечка чувствительных данных. С помощью данной уязвимости можно:
Куда мы без примера-то
В атаке
SSRF сервер можно заставить выполнить HTTP-запрос на свой же loopback-интерфейс: 127.0.0.1 или localhost.Предположим, сайт магазина позволяет просматривать товары. Для этого фронтенд дергает
API, передавая URL на соответствующий endpoint бекенда через HTTP-запрос .
POST /product/stock
HTTP/1.0
Content-Type: application/x-www-form-urlencoded
Content-Length: 118
stockApi=https://stock.weliketoshop.net:8080/product/stock/check%3FproductId%3D6%26storeId%3D1
Можно модифицировать этот запрос и направить его на другой
URL:
POST /product/stock
HTTP/1.0
Content-Type: application/x-www-form-urlencoded
Content-Length: 118
stockApi=https://localhost/admin
Теперь сервер запросит содержимое
/admin и вернёт его нам. Пусть напрямую мы и так можем попасть на /admin, но вот функции администратора обычно доступны только после авторизации. Так как запрос уходит изнутри, обычный обойти проще простого. Внутренние машины ведь доверяют приложению по умолчанию.Потрогать руками этот тип уязвимости можно в следующих лабах:
✏️Basic SSRF against another back-end system
✏️Basic SSRF against the local server
✏️Blind SSRF with out-of-band detection
✏️SSRF with blacklist-based input filter
✏️SSRF with filter bypass via open redirection vulnerability
➥
#web #writeup
Please open Telegram to view this post
VIEW IN TELEGRAM
7❤7😱4👨💻2✍1
Привет^3☕️
Сегодня поговорим о вечном)🤓
При реверсе одним из первых шагов является вызов утилиты
Что могло пойти не так?
Малварщики хоть иконченные плохие, но тем не менее не совсем глупые😒 . Поэтому золотым граалем обфускации является ✨ ✨ . Цель у злоумышленников не надежно зашифровать данные, а лишь усложнить статический анализ.
Так что я считаю, что побаловаться с🥺 :
• Bytes and Big Integers
• XOR-1. Starter
• XOR-2. Properties
↖️ 📕 тг • 🤬 чатик • ✏️ посты
#crypto #writeup
Сегодня поговорим о вечном)
При реверсе одним из первых шагов является вызов утилиты
strings или чего-то подобного. По строкам в бинарном файле можно составить общую картину поведения: найти ссылки на github, отладочные сообщения, пути до файлов и многое другое.Что могло пойти не так?
Малварщики хоть и
XORТак что я считаю, что побаловаться с
XOR должен каждый. Вы еще не раз встретите его в моих разборах. Вперед, поксорьтесь со всеми• Bytes and Big Integers
• XOR-1. Starter
• XOR-2. Properties
#crypto #writeup
Please open Telegram to view this post
VIEW IN TELEGRAM
6❤🔥4❤1👨💻1
Привет^3☕️
Чаво😼
• фронтенд подгружает данные через
• мобильные приложения общаются с сервером тоже через
• микросервисы внутри крупных систем связываются через...
• интеграции (платежи, карты, рассылки) строятся на внешних что? Правильно -
Именно поэтому безопасность
С чего начинается атака?
Чтобы
➖ какие есть эндпоинты;
➖ какие параметры они принимают;
➖ какие методы поддерживают (
➖ есть ли ограничения по частоте запросов и как работает авторизация.
В этом может помочь документация, которая бывает в открытом доступе. Даже если ее нет - эндпоинты можно найти с помощью фаззинга, например через ffuf, или же поискать в
🧙Пример атаки
Многие фреймворки автоматически связывают параметры из запроса с полями в базе. Если разработчик не ограничил список полей, можно «подбросить» лишние:
Если сервер примет
😼 Как защищаться
• Делать
• Проверять типы входящих данных;
• Прятать документацию, если
• Унифицировать обработку ошибок, чтобы не сливать лишнюю информацию;
• Не забывать про старые версии
Вперед кприключениям тестированию💃
Попробовать поискать и проэксплуатировать ендпоинты
• Exploiting a mass assignment vulnerability
• Exploiting an API endpoint using documentation
• Exploiting server-side parameter pollution in a query string
• Finding and exploiting an unused API endpoint
↖️ 📕 тг • 🤬 чатик • ✏️ посты
#web #writeup
API можно не только писать, но еще и эксплуатировать в своих целях. Об этом и поговорим)Чаво
Application Programming Interface - это интерфейс общения между клиентом и сервером. Современные приложения почти полностью завязаны на API: • фронтенд подгружает данные через
API; • мобильные приложения общаются с сервером тоже через
API; • микросервисы внутри крупных систем связываются через...
API; • интеграции (платежи, карты, рассылки) строятся на внешних что? Правильно -
API;Именно поэтому безопасность
API важна безопасность всего приложения.С чего начинается атака?
Чтобы
API тестировать - нужно найти хоть какие-то ендпонты)GET, POST, PATCH, OPTIONS и т.д.); В этом может помочь документация, которая бывает в открытом доступе. Даже если ее нет - эндпоинты можно найти с помощью фаззинга, например через ffuf, или же поискать в
JavaScript файлах.🧙Пример атаки
Многие фреймворки автоматически связывают параметры из запроса с полями в базе. Если разработчик не ограничил список полей, можно «подбросить» лишние:
PATCH /api/users/123
{
"username": "wiener",
"email": "[email protected]",
"isAdmin": true
}
Если сервер примет
isAdmin и сохранит - вжух, и админка у нас в кармане.• Делать
allowlist допустимых параметров и методов; • Проверять типы входящих данных;
• Прятать документацию, если
API не публичное; • Унифицировать обработку ошибок, чтобы не сливать лишнюю информацию;
• Не забывать про старые версии
API.Вперед к
Попробовать поискать и проэксплуатировать ендпоинты
API, а не писать их можно в следующих лабах:• Exploiting a mass assignment vulnerability
• Exploiting an API endpoint using documentation
• Exploiting server-side parameter pollution in a query string
• Finding and exploiting an unused API endpoint
#web #writeup
Please open Telegram to view this post
VIEW IN TELEGRAM
5❤🔥5👨💻1
Привет^3☕️
Сегодня на очереди достаточно интересная лаба по реверсу. В ней я привёл несколько примеров решений, которые используют разные подходы.😱
Рассмотрим пример коллизионной атаки на хэши, патчинг и динамический анализ. Настоятельно рекомендую сначала попробовать решить самостоятельно, а затем изучить другие решения😮
📎Ссылка на лабу
↖️ 📕 тг • 🤬 чатик • ✏️ посты
#reverse #writeup
Сегодня на очереди достаточно интересная лаба по реверсу. В ней я привёл несколько примеров решений, которые используют разные подходы.
Рассмотрим пример коллизионной атаки на хэши, патчинг и динамический анализ. Настоятельно рекомендую сначала попробовать решить самостоятельно, а затем изучить другие решения
📎Ссылка на лабу
#reverse #writeup
Please open Telegram to view this post
VIEW IN TELEGRAM
5👍6🔥2👨💻1