![](https://habrastorage.org/storage2/5bd/3c1/119/5bd3c1119279870e5ecb11a0f7115af3.jpg)
В последнее время появился целый ряд публикаций, описывающих уязвимости ГПСЧ, начиная от самых основ ([1]) и заканчивая непосредственно уязвимостями в различных языках программирования и реализованных на их основе CMS и другого ПО ([2],[3],[4]).
Эти публикации популярны по той причине, что ГПСЧ – основа многих аспектов безопасности веб-приложений. Псевдослучайные числа/последовательности символов используются для обеспечения безопасности веб-приложений в:
- генерации различных токенов (CSRF, токены сброса пароля и т.д.);
- генерации случайных паролей;
- генерации текста в CAPTCHA;
- генерации идентификаторов сессий.
В прошлой статье мы, опираясь на исследования George Argyros и Aggelos Kiayias ([3]) научились предугадывать случайные числа в PHP на основе PHPSESSID и уменьшать различными способами энтропию псевдослучайных чисел.
Сейчас мы рассмотрим ГПСЧ в веб-приложениях, разработанных на языке Python.