
CodeIgniter <=2.1.4 Schwachstelle bei der Entschlüsselung von Session-Cookies
PoC-Skript zum Dekodieren von CodeIgniter <= 2.1.4 Session-Cookies, die die _xor_encode()-Methode verwenden.
Vollständige Details finden Sie im folgenden Blogbeitrag: https://www.dionach.com/blog/codeigniter-session-decoding-vulnerability
break.py Dies ist das Hauptskript. Wenn ein Ziel-URI angegeben wird, versucht es, ein Cookie zu erhalten und den Session-Key per Brute-Force zu ermitteln. Wenn dieses Skript ein Cookie findet, es aber nicht entschlüsseln kann, ist auf dem Server Mcrypt installiert, und der Angriff ist nicht anwendbar. testkey.py Dieses Skript dekodiert sofort ein Session-Cookie mit dem angegebenen (gehashten) Schlüssel, der in das Skript eingefügt werden muss, sobald er mit break.py ermittelt wurde. encrypt.php Dieses Skript basiert auf den von CodeIgniter verwendeten Verschlüsselungsfunktionen. Es nimmt ein unverschlüsseltes Cookie (ein serialisiertes PHP-Array) und verschlüsselt es mit dem angegebenen Schlüssel (der in das Skript eingefügt werden muss).
Die Schritte für einen Angriff auf eine Anwendung sind wie folgt: