Was ist ein JavaScript -Injektionsangriff?
1. JavaScript Injection wird ein Stück JS -Code in die Browser -Adressleiste eingeben, um den Inhalt von Seite JS -Variablen und Seitenbezeichnungen zu ändern.
Mit der JavaScript -Injektion können Benutzer ihren Inhalt ändern, ohne Webseiten zu schließen oder zu speichern, die in der Adressleiste des Browsers durchgeführt werden. Die Syntax des Befehls lautet wie folgt:
JavaScript: Alert (#Befehl#)
Wenn Sie beispielsweise auf der Website http://www.example.com ein Warnungsfeld für Warnungen sehen möchten, geben Sie zuerst die URL in die Adressleiste ein und warten Sie, bis die Seite geladen wird. Löschen Sie die URL und geben Sie ein:
JavaScript: Alarm (Hallo Welt)
Als neue URL. Dadurch wird ein Hello World Warning -Box angezeigt und diese Technik verwendet, um fast alles auf einer Webseite zu ändern, z. B. ein Bild. Angenommen, es gibt ein Website -Logo -Image, und wir finden einen der HTML -Code, indem wir uns die Seitenquellendatei ansehen:
<Img name = hi src = hello.gif>
Das Bild heißt Hi, die Quelldatei ist hello.gif. Wir möchten es in die auf unserer Website gespeicherte Datei bye.jpeg ändern (http://www.mysit.com).
JavaScript: alert (document.hi.src = http: //www.mysit.com/bye.jpeg)
Sie sehen ein http://www.mysite.com/bye.jpegalert Warnpop-up und das Bild wird geändert. Es ist zu beachten, dass diese Änderungen nur vorübergehend sind! Wenn Sie die Seite aktualisieren oder Ihre Änderungen erneut eingeben, verschwinden Sie, da Sie diese Änderungen auf Ihrem PC und nicht auf dem Webserver vorgenommen haben.
Mit der gleichen Methode können wir den Wert der Variablen anzeigen oder ändern. Zum Beispiel finden wir einen solchen Code -Stück wie diesen auf einer Webseite:
<Script Language = javaScript> var a = test </script>
Dies bedeutet, dass der Wert der Variablen A Test ist, und jetzt geben wir ein:
JavaScript: Alarm (a)
Dann ändern wir seinen Wert auf Hallo:
JavaScript: Alarm (a = Hallo)
Die JavaScript -Injektion wird normalerweise verwendet, um die Formeigenschaften zu ändern, vorausgesetzt, es gibt ein Stück Code wie folgt:
<Formular name = format action = send.php method = post> <Eingabe type = Hidden name = mail [email protected]> <Eingabe type = text name = name> <Eingabe type = subg. subieren> </form>
Wir möchten, dass das Formular an unsere Mailbox gesendet wird, nicht an [email protected]. Sie können den folgenden Befehl verwenden:
JavaScript: alert ([email protected])
Vielleicht haben Sie die Hierarchie dieser Befehle bemerkt:
Lassen Sie es uns von links nach rechts erklären:
1) Das Dokument ist ganz links
2) Dann gibt es den Objektnamen, den wir ändern möchten (z. B. document.hi.src) oder das, das es enthält (z. B. document.format.mail.Value).
3) Schließlich möchten das Attribut, das wir ändern möchten (z. B. Quellpfad: document.hi.src oder variabler Wert: document.format.mail.Value)
4) Verwenden Sie die Numbertrennung
5) Wenn wir den Attributwert ändern möchten, verwenden wir das = Zeichen und den neuen Attributwert
*Hinweis: Wenn der neue Attributwert eine Zeichenfolge ist (z. B.: [email protected]), muss er in doppelten Zitaten eingeschlossen sein.
Wenn wir es als Wert für eine Variable verwenden möchten, müssen wir keine Doppelzitate verwenden. Wenn wir beispielsweise den Wert der Variablen B Variablen A zuweisen möchten, können wir JavaScript: Alarm (a = b) eingeben.
Die meisten Tags auf der Seite haben jedoch keine Namen wie:
<form action = send.php method = post> <Eingabe type = Hidden name = mail [email protected]> <Eingabe type = text name = name> <Eingabe type = subg. Subjekt = Subjekt> </form>
In diesem Code gibt es keinen Formnamen. Basierend auf den obigen Informationen können Sie diesen Befehl verwenden:
JavaScript: Alert (Dokument. .Mail.Value = [email protected])
In diesem Fall müssen wir die Formsequenznummer zählen und finden, und das Folgende ist ein Beispiel:
<form action = send.php methode = post> <Eingabe type = text name = name> <Eingabe type = sure value = surven> </form> <form action = send.php methode = post> <Eingabe type = Hidden name = mail [email protected]> <Eingabe -Typ = Text Name> <Eingabe -Typ = Subjekt = Subjekt = Form> </Form> <Formular. value = suruging> </form>
In dem obigen Code sehen wir 3 Formulare, aber wir interessieren uns nur für die zweite. Die Formnummer, die wir wollen, lautet 2.. Vergessen Sie nicht, dass wir ab 1 beginnen, z. B. 1, 2, 3, 4 ... während JavaScript von 0 beginnt, wie 0, 1, 2, 3 ... die reale Formnummer 1, nicht 2. Normalerweise müssen wir die gefundene Formnummer durch einen Subtrahieren durch eine. Wir werden diese Seriennummer verwenden, um unseren Befehl zu vervollständigen:
JavaScript: alert (document.forms [1] .Mail.Value = [email protected])
Auf diese Weise können Sie das Bild oder den Link ohne Namen ändern und die Formulare auf jeden gewünschten Tag -Typ ändern. Für Bilder
JavaScript: alert (document.images [3] .src =#Die URL des Bildes, das Sie möchten#)
Für den Link ist
JavaScript: alert (document.links [0] .HREF =#Die URL, die Sie wollen#)
Schließlich können wir diese Technik verwenden, um Cookies zu bearbeiten. Der folgende Befehl wurde von dr_amado von triviasecurity.net geschrieben, und ich habe es nur ein wenig geändert, um es vor dem Benutzern zu lassen. Sie müssen sie nur in die Adressleiste kopieren:
JavaScript: Alert (Fenster.C = Funktion A (n, v, nv) {c = document.cookie; c = c.substring (c.indexof (n)+n.länge, C.Length); document.cookie = n+=+Escape (NC); alert ('The Cookie ist:'+document.cookie+''); ALERT (C (Eingabeaufforderung (der Name des Cookie:), Eingabeaufforderung (ändern Sie diesen Wert:), Eingabeaufforderung (damit:))))// Wenn Sie Ihr Cookie manuell ändern möchten, können Sie den folgenden Befehl verwenden:
JavaScript: Alert (document.cookie)
Auf diese Weise werden Ihr aktuelles Cookie angezeigt, vorausgesetzt, userID = 1, wenn Sie es in userID = 2 ändern möchten, können Sie den folgenden Befehl verwenden:
JavaScript: alert (document.cookie = userId = 2)
Schließlich muss ich betonen, dass alle Änderungen nur auf Kundenseite sind! Es ist wie das Speichern einer Webseite auf Ihrem PC und das Ändern. Mit diesem Trick können Sie jedoch die Seite (z. B. Cookies) oder die Sicherheitsüberprüfung umgehen. Beispielsweise erkennen einige Webseiten den Ort, an dem der Benutzer Daten sendet. Wenn Sie Daten von http://www.test.com/form.php an http://www.test.com/check.php senden, überprüfen Sie, ob die Daten auf http://www.test.com/form.php stammen. Wenn Sie planen, Ihren eigenen JavaScript -Code in die Seite einzugeben, können Sie das Bild ändern und es gleich belassen!
Das obige ist der gesamte Inhalt dieses Artikels. Ich hoffe, es wird für das Lernen aller hilfreich sein und ich hoffe, jeder wird Wulin.com mehr unterstützen.