HTML-Injection ist eine Schwachstelle, eine Art Netzwerkangriff, der auftritt, wenn eine Webseite nicht in der Lage ist, vom Benutzer bereitgestellte Eingaben zu bereinigen oder die Ausgabe zu validieren, sodass ein Angreifer seine eigene Nutzlast fälschen und bösartigen HTML-Code über eine anfällige Feldanwendung zur Änderung einschleusen kann Webseiteninhalte und sogar einige sensible Daten abrufen.
Die Betriebsumgebung dieses Tutorials: Windows 7-System, HTML5-Version, Dell G3-Computer.
HTML-Injection (Hypertext-Markup-Language-Injection) Chinesisch bedeutet „Hypertext-Markup-Language-Injection“. Wie wir alle wissen, enthält HTML verschiedene Tags Die übermittelten Daten können andere HTML-Tags enthalten, und diese Daten werden vom Server zufällig als normale HTML-Tags angezeigt. Das Endergebnis ist, dass illegale Tags analysiert werden (können auf Phishing, Social Engineering usw. angewendet werden), was großen Schaden anrichtet andere Benutzer. Große Wirkung.
Ein Angreifer kann seine eigene Nutzlast fälschen und über anfällige Felder bösartigen HTML-Code in die Anwendung einschleusen, wodurch der Inhalt der Webseite verändert und sogar an einige sensible Daten gelangt. Der Unterschied zwischen HTML-Injection und XSS Tags zum Ausführen von JavaScript Skriptprogramme wie JavaScript können über JavaScript vertrauliche Daten und eine Reihe gefährlicher Vorgänge abrufen, während die HTML-Injection nur HTML-Tags zum Ändern des Seiteninhalts verwendet.
HTML-Injektion – Reflektiert (POST)
Reflektierte HTML-Injektion (POST-Methode)Gleiche wie die GET-Methode obenGeben Sie
für Vorname ein, füllen Sie test für Nachname aus und stellen Sie fest, dass die Buchstaben html2 grün werden, was anzeigt, dass der von uns geschriebene HTML-Code erfolgreich ausgeführt wurde, und Auf dieser Website gibt es eine HTML-Injection.html2
Kerncode<div> <h1>HTML Injection - Reflected (URL)</h1> <?php echo "<p align=\"left\">Your current URL: <i>" . $url . "</i>";?> </div>Nach dem Login kopieren
Da ist ein Stück PHP drin dieser Code Der Code führt die HTML-Anweisung aus, gibt einen Abschnitt mit „Ihre aktuelle URL:“-Zeichen aus und ruft die Variable $url auf, um dem Ausgabeinhalt zu folgen.
Lesen Sie den Verteidigungscode und Sie werden wissen, dass der aufgerufene Verteidigungscode je nach Schwierigkeitsgrad der Einstellungen unterschiedlich ist.$url= ""; switch($_COOKIE["security_level"]) { case "0" : // $url = "http://" . $_SERVER["HTTP_HOST"] . urldecode($_SERVER["REQUEST_URI"]); $url = "http://" . $_SERVER["HTTP_HOST"] . $_SERVER["REQUEST_URI"]; //$url= ''接受的参数来自请求头HOST和URL break; case "1" : $url = "<script>document.write(document.URL)</script>"; break; case "2" : $url = "http://" . $_SERVER["HTTP_HOST"] . xss_check_3($_SERVER["REQUEST_URI"]); break; default : // $url = "http://" . $_SERVER["HTTP_HOST"] . urldecode($_SERVER["REQUEST_URI"]); $url = "http://" . $_SERVER["HTTP_HOST"] . $_SERVER["REQUEST_URI"]; break; } <select name="security_level"> <option value="0">low</option> <option value="1">medium</option> <option value="2">high</option> </select>Nach dem Login kopieren
(1) NIEDRIG
Wenn Sie die Stufe auf „Niedrig“ setzen, führen Sie die folgende Anweisung aus: ] hier" Es geht darum, den vollständigen Adresspfad hinter dem Domänennamen abzurufen
(2) mittel
Wann Wenn Sie die Stufe auf „Mittel“ setzen, führen Sie die folgende Anweisung aus:
$url = "http://" . $_SERVER["HTTP_HOST"] . $_SERVER["REQUEST_URI"];
(3) hoch
Wenn Sie die Ebene auf hoch setzen, führen Sie die folgende Anweisung aus
$url = "<script>document.write(document.URL)</script>";Nach dem Login kopieren
Der xss_check_3 Hier wird die Funktion aufgerufen, um den Teil hinter dem Host zu filtern, sodass die Injektion nicht möglich istHinweis: Die reflektierende Seite ist nach der Aktualisierung nicht mehr vorhanden, während der Speichertyp in die Serverdatenbank geschrieben wird und nach der Aktualisierung weiterhin vorhanden ist.
Daher ist der Speichertyp viel schädlicher als der reflektierende Typ.
Geben SieHTML
in das Textfeld ein, um das p-Tag erfolgreich zu analysieren und anzuzeigen, dass eine HTML-Injektion vorliegt.Empfohlenes Tutorial: „HTML-Video-Tutorial“
Das obige ist der detaillierte Inhalt vonWas ist HTML-Injection?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!