TGViewer
BlackFan BlackFan @black4fan · 1.19K subscribers
Post #22 1.83K
Попался интересный вариант, когда с помощью JWT секрета, извлеченного из Java приложения, не получается сформировать валидный токен.

В проекте использовалась устаревшая библиотека jjwt-0.7.0, которая при использовании строки в качестве секрета неявно декодировала его с помощью Base64, даже если это невалидная base64-строка.

В результате, при использовании следующего кода:
private static String SECRET = "#%j?_GtEhNS!-WH.Vq!";
private static long EXPIRATION = 3600L;

public static String generateToken(String username) {
Map<String, Object> claims = new HashMap<>();
claims.put("sub", username);
Date exp = new Date(System.currentTimeMillis() + (EXPIRATION * 1000));

return Jwts.builder()
.setClaims(claims)
.setExpiration(exp)
.signWith(SignatureAlgorithm.HS512, SECRET)
.compact();
}


Вместо секрета #%j?_GtEhNS!-WH.Vq! вы получаете всего 6 символов 0x8c, 0x6b, 0x44, 0x84, 0xd4, 0x96 или base64_decode("jGtEhNSW").
Все символы, не относящиеся к Base64, удаляются, а последовательность HVq отброшена, так как для корректного Base64 ей не хватает необходимого паддинга =.
  • 🤔 10
  • 🔥 5
  • 👍 4
More from @black4fan
  1. Jul 9, 2026Записали выпуск "Начинаем в багбаунти" по теме мисконфигов при использовании S3 в веб-прил…
  2. Apr 19, 2026Финал Standoff Hacks. Шанхай 🇨🇳 GG. Доиграли до конца. Топ-3: 🥇 r0hack — MVP Standoff H…
  3. Mar 4, 2026Раскрыл один из интересных отчетов в программе Мегамаркет, опять же связанный с некорректн…
  4. Feb 12, 2026Интересная уязвимость, связанная с кэшированием HTTP ответов из S3, может возникнуть если…
  5. Jul 16, 2025VK раскрыли пачку новых репортов, среди которых мой с XSS на ok.ru. В нем использовалась д…
  6. May 3, 2025Частично реализовал в BFScan поддержку аннотаций в аргументах конструктора класса. https:/…
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →