Heim > Artikel > Backend-Entwicklung > Detaillierte PHP-Deserialisierungsanalyse der Zeichenflucht
Dieser Artikel vermittelt Ihnen relevantes Wissen über PHP, das hauptsächlich die damit verbundenen Probleme der Deserialisierung von Zeichen-Escape-Zeichenfolgen nach der PHP-Serialisierung vorstellt, was zu einer Änderung der Länge der Zeichenfolge führt Dann schauen wir uns das gemeinsam an. Ich hoffe, es wird für alle hilfreich sein.
Empfohlene Studie: „PHP-Video-Tutorial“
Wesentliches: Geschlossen
Kategorie: Mehr Zeichen, weniger Zeichen
Gemeinsame Punkte:
<?php function filter($string){ $filter = '/p/i'; return preg_replace($filter,'WW',$string); } $username = 'purplet'; $age = "10"; $user = array($username,$age); var_dump(serialize($user)); echo "<pre class="brush:php;toolbar:false">"; $r = filter(serialize($user)); var_dump($r); var_dump(unserialize($r)); ?>. Der folgende Teil kann als Vorlage aufgezeichnet werden ww, das heißt, jedes Mal wird ein weiteres Zeichen hinzugefügt
Um 10 auf 20 zu ändern, bestimmen Sie zunächst die Zeichenfolge, die später erstellt werden soll:
var_dump(serialize($user)); # 序列化 echo "<pre class="brush:php;toolbar:false">"; $r = filter(serialize($user)); # 替换后序列化 var_dump($r); var_dump(unserialize($r)); # 打印反序列化
Bestimmen Sie die Länge: 16 (das heißt, die eingehende Zeichenfolge benötigt 16 weitere Zeichen, um diese Zeichen in das nächste Attribut einzufügen)
Jedes Mal gibt es 1 Zeichen mehr, also werden 16 p benötigt Daher , Eingabe:
Ergebnisausgabe:
Zeichenreduzierung
Wert-Escape
Wertfilterung, der vorherige Wert enthält den letzten Schlüssel und Wert (bis zur linken Klammer) )
Alle 2 p ändert sich in 1 w, was einem Escape-Bit entspricht. Geben Sie also 13*2=26 p ein, die Zeichenlänge wird als 26 markiert, was zu 13 w wird, und die nächsten 13 Zeichen belegen die verbleibenden 13 Bits
PHP-Video-TutorialBeobachten Sie jedes Ersetzungsinkrement x
Verwenden Sie n/x Ersetzungszeichen und erstellen Sie den Code. Übergeben Sie das serialisierte Objekt zu A Wie viele Zeichen werden durch n ersetzt? : „
“
Das obige ist der detaillierte Inhalt vonDetaillierte PHP-Deserialisierungsanalyse der Zeichenflucht. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!