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)); ?>
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!