1 месяц назад
🔓 Padding Oracle: Когда криптография работает против вас
Часто разработчики думают: «Я зашифрую ID объекта в URL, и никто не узнает, что там внутри». Они берут AES, режим CBC и считают задачу выполненной. Но без одной важной детали эта защита превращается в дыру, через которую можно не только читать, но и подделывать данные. Разбираем мой недавний кейс. 🎯 Суть уязвимости Сервер использует AES-CBC для шифрования идентификаторов форм. Проблема в двух фатальных ошибках реализации: Болтливый сервер: Если при дешифровке паддинг некорректен, сервер возвращает ошибку crypto: padding: bad padding. Нет подписи: Отсутствует HMAC. Сервер пытается расшифровать любые пришедшие данные...