Suhosin Session-Daten entschlüsseln und lesen

8

Ich habe gerade gemerkt, dass mein Gastgeber mit der Anwendung von Suhosin Hardening begonnen hat, ich bin damit nicht vertraut und habe große Probleme mit meiner Anwendung, hauptsächlich in Sitzungen.

Die Sitzung wird jetzt im folgenden Format gespeichert:

%Vor%

Es macht mir nichts aus, aber es bricht auch meine Anwendung, ich brauche eine Möglichkeit, die Verschlüsselung zu entschlüsseln, weil ich mich dadurch nicht in meine App einloggen kann.

Ich habe eine Funktion, um die Sitzungsdaten zu deserialisieren, nicht sicher, wo ich abgeholt habe, aber hier ist es:

%Vor%

Es gibt Offset-Fehler mit dieser Funktion, weil die Sitzungsdaten nicht in dem Format sind, das erwartet wird, und deshalb fragte ich mich, ob jemand eine Methode zum Entschlüsseln / Dekodieren der obigen hässlichen Suhosin-Daten kennt, um sie im Original darzustellen Format?

- BEARBEITEN -

Veröffentlichen der Funktion, die die obige unserialize-Funktion verwendet

%Vor%

Vielen Dank im Voraus!

    
Zubair1 07.05.2011, 01:28
quelle

3 Antworten

3

Ich dachte Suhosin's Entschlüsselung und Verschlüsselung war transparent?

%Vor%

Wie auch immer, der Verschlüsselungsschlüssel wird wie folgt generiert:

%Vor%

Also:

%Vor%

Die Variablen werden ohne Trennzeichen verkettet. Wenn aus irgendeinem Grund die Cryptkey-Zeichenkette NULL ist, wird Suhosin standardmäßig auf einen Wert von "D3F4UL7" gesetzt. Nach dem Aufbau wird die Zeichenkette mit SHA256 gehackt und das Ergebnis wird verwendet, um einen 256-Bit-Rijndael-Verschlüsselungsschlüssel zu erzeugen.

    
Ben Poulson 21.01.2012 12:03
quelle
1

Wenn Sie Daten wiederherstellen müssen, die in der Sitzung gespeichert wurden, können Sie das hier verfügbare Werkzeug verwenden:

Ссылка

Es gibt keine native Möglichkeit, Suhosin-Daten in PHP zu entschlüsseln - der einfachste Weg besteht darin, die Verschlüsselung einfach mit session.encrypt = 0 innerhalb der php.ini-Datei auszuschalten.

    
Simon 10.01.2012 05:31
quelle
0

Können Sie ini_set() verwenden, um die verwendete Verschlüsselung auszuschalten?

Sie müssen den genauen Schlüssel angeben, der zum Verschlüsseln von Sitzungsdaten verwendet werden soll (was auf der Seite durch ini_set() möglich ist), um sie zu entschlüsseln. Das getan, Entschlüsselung sollte mit dem Schlüssel möglich sein (ich bin mir nicht sicher, welches Verschlüsselungssystem es verwendet).

    
preinheimer 30.05.2011 17:53
quelle

Tags und Links