
Уязвимость дешифрования сессионных cookie в CodeIgniter <=2.1.4
PoC-скрипт для декодирования сессионных cookie CodeIgniter <= 2.1.4, использующих метод _xor_encode().
Полные подробности доступны в следующем сообщении блога: https://www.dionach.com/blog/codeigniter-session-decoding-vulnerability
break.py Это основной скрипт; получив целевой URI, он пытается получить cookie и подобрать ключ сессии перебором. Если этот скрипт находит cookie, но не может его расшифровать, значит на сервере установлен Mcrypt, и атака на уязвимость не применима. testkey.py Этот скрипт мгновенно расшифровывает cookie сессии, используя предоставленный (хешированный) ключ (который нужно добавить в скрипт после того, как он будет получен с помощью break.py). encrypt.php Этот скрипт основан на функциях шифрования, используемых в CodeIgniter; он принимает незашифрованную cookie (сериализованный PHP-массив) и шифрует её с помощью предоставленного ключа (который необходимо добавить в скрипт).
Шаги атаки на приложение следующие: