Security
Debug mode
Source: https://t.me/webpwn/337
Приложения на Django в debug режиме раскрывают содержимое environment переменных при необработанном исключении.
Несмотря на наличие автоматического сокрытия значений, для переменных соответствующих регулярному выражению API|TOKEN|KEY|SECRET|PASS|SIGNATURE
, часто это приводит к утечкам через нестандартные имена переменных.
Если обнаружить debug режим можно просто обратившись к несуществующей странице, то вызвать exception иногда бывает проблематично. Даже с раскрытием существующих в приложении путей через 404-ую страницу.
Но существуют и более универсальные подходы.
Пример 1
Нестандартные символы в Host. Правда с учетом облачных сервисов этот вариант срабатывает редко.
Пример 2
Использование большего количества переменных в POST, чем указано в настройке DATA_UPLOAD_MAX_NUMBER_FIELDS (по умолчанию 1000).
Для эксплуатации необходимо найти любой роут, поддерживающий POST запросы, и в редких случаях получить валидное значение CSRF токена на странице.
CVEs
CVE-2022-34265
PoC & Description: https://github.com/aeyesec/CVE-2022-34265
Last updated