Heim > Artikel > Backend-Entwicklung > PHP-Sicherheit – Formularübermittlung betrügen
Das Erstellen eines gefälschten Formulars ist fast so einfach wie das Fälschen einer URL. Schließlich handelt es sich bei der Formularübermittlung lediglich um eine HTTP-Anfrage des Browsers. Ein Teil des Formats der Anfrage hängt vom Formular ab und einige der Daten in der Anfrage stammen vom Benutzer.
Die meisten Formulare verwenden eine relative URL-Adresse, um das Aktionsattribut anzugeben:
<form action="process.php" method="POST">
Beim Absenden des Formulars fordert der Browser die in der Aktion angegebene URL an und verwendet die aktuelle URL-Adresse, um die relative URL zu finden. Wenn das vorherige Formular beispielsweise als Antwort auf eine Anfrage für http://www.php.cn/ generiert wurde, wird die URL-Adresse http://www.php.cn/ angefordert, nachdem der Benutzer das Formular abgeschickt hat.
Wenn man das weiß, kann man leicht denken, dass man eine absolute Adresse angeben kann, damit das Formular überall platziert werden kann :
<form action="http://example.org/path/to/process.php" method="POST">
Dieses Formular kann überall platziert werden und die mit diesem Formular erstellten Eingaben sind dieselben wie die mit dem Originalformular erstellten. Wenn ein Angreifer dies erkennt, kann er die Quelldatei der Seite anzeigen und auf seinem Server speichern, während er die Aktion in eine absolute URL-Adresse ändert. Durch die Verwendung dieser Methoden kann ein Angreifer das Formular willkürlich ändern, z. B. durch Entfernen der maximalen Feldlängenbeschränkung, Entfernen des lokalen Validierungscodes, Ändern des Werts eines versteckten Felds oder Umschreiben des Elementtyps für flexiblere Zwecke. Diese Änderungen helfen einem Angreifer, beliebige Daten an den Server zu übermitteln, und da der Vorgang so einfach und unkompliziert ist, muss der Angreifer dafür kein Experte sein.
Angriffe mit gefälschten Formularen können nicht verhindert werden, und obwohl dies etwas seltsam erscheinen mag, ist es tatsächlich so. Aber Sie brauchen sich darüber keine Sorgen zu machen. Sobald Sie die Eingaben richtig gefiltert haben, müssen Benutzer Ihre Regeln befolgen, unabhängig davon, wie sie sie übermitteln.
Wenn Sie mit dieser Technik experimentieren, werden Sie möglicherweise feststellen, dass die meisten Browser eine Referrer-Nachricht in den HTTP-Header einfügen, um die Adresse der vorherigen Seite zu identifizieren. In diesem Beispiel ist der Referrer-Wert die URL-Adresse des Formulars. Bitte lassen Sie sich davon nicht täuschen und nutzen Sie es, um zwischen Ihren Formulareinsendungen und gefälschten Formulareinsendungen zu unterscheiden. In der Demonstration im nächsten Abschnitt können Sie sehen, dass HTTP-Header auch sehr einfach zu fälschen sind und die Methode zur Bestimmung mithilfe von Referrer bekannt ist.
Das Obige ist der Inhalt des PHP-Sicherheitstäuschungsformulars. Weitere verwandte Inhalte finden Sie auf der chinesischen PHP-Website (www.php.org). php.cn)!