Dieses Mal werde ich Ihnen eine detaillierte Erklärung zur Verwendung der AJAX-Injektion geben. Was sind die Vorsichtsmaßnahmen bei der Verwendung der AJAX-Injektion? Hier sind praktische Fälle.
AJAX kann die stille Verarbeitung von Daten im Hintergrund ermöglichen. Wenn es eine Möglichkeit gibt, Ihr JS-Skript und dieses AJAX-Modul in derselben Domäne zu erstellen, können Sie dieses XSS verwenden, um den sekundären Angriff abzuschließen , und Sie können anhand des Statusattributs des XHR-Objekts beurteilen, ob das zurückgegebene Ergebnis korrekt ist oder nicht. Der GET-Typ AJAX erstellt direkt die Parameterwerte in der URL. Der POST-Typ AJAX erstellt die Sendemethode des XHR-Objekts
AJAX kann die unbeaufsichtigte Verarbeitung von Daten im Hintergrund ermöglichen. Wenn es eine Möglichkeit gibt, Ihr JS-Skript und dieses AJAX-Modul in derselben Domäne zu platzieren, können Sie dieses XSS verwenden, um den sekundären Angriff abzuschließen, und Sie können ihn anhand des Status beurteilen Attribut des XHR-Objekts Gibt zurück, ob das Ergebnis korrekt ist oder nicht. Der GET-Typ AJAX erstellt die Parameterwerte direkt in der URL. Der POST-Typ AJAX erstellt die Parameterwerte in der Sendemethode des XHR-Objekts.
Im Allgemeinen sind Angriffe mit AJAX für Benutzer schwer zu erkennen, es sei denn, wir möchten, dass sie sie erkennen. Das Plug-in Firebug in Firefox kann alle XHR-Aktionen analysieren:
Wie erkennt man Sicherheit AJAXmodularisierte Webprogramme in der lokalen Domäne?
Obwohl AJAX Daten nicht direkt zwischen Domänen übertragen kann, können Sie Daten mit dem Ziel-AJAX-Modul in der lokalen Domäne übertragen. Machen wir ein Experiment mit meinem To Do/Projekt, dem folgenden Code:
alert(_x)
function check_login(){ var up="up=" escape('余弦') "|" "1234567"; _x.open("POST","http://www.0x37.com/Project/login.asp",true); _x.setRequestHeader("Content-Type","application/x-www-form-urlencoded"); _x.onreadystatechange=function() { if(_x.readyState==4) { if(_x.status==200) { alert(_x.responseText); } } } _x.send(up); } check_login(); //logout();
Nachdem dieser Code lokal übermittelt wurde, wird er mit der Datei login.asp auf der verknüpft 0x37-Projekt Für die Kommunikation besteht seine Funktion darin, den Benutzernamen und das Passwort zu erraten und anhand des Rückgabewerts zu beurteilen, ob es korrekt ist. Wenn ein Wörterbuch vorhanden ist, können Sie die Passwörter stapelweise erraten. Der von uns erstellte schädliche Wert wird in diese AJAX-Box eingefügt. Natürlich können wir die Ziel-URL auch direkt in AJAX erkennen. Obwohl AJAX viele serverseitige Dateien „versteckt“, bedeutet dies nicht, dass diese serverseitigen Dateien sicher sind und möglicherweise schwerwiegendere Probleme aufdecken.
Ich glaube, dass Sie die Methode beherrschen, nachdem Sie den Fall in diesem Artikel gelesen haben. Weitere spannende Informationen finden Sie in anderen verwandten Artikeln auf der chinesischen PHP-Website.
Empfohlene Lektüre:
Detaillierte Erläuterung der Schritte für Jquery zum Betreiben von js-Arrays und -Objekten
Eine Sammlung von Methoden für Jquery Durchlaufen und Filtern von Arrays und JSON-Objekten
Das obige ist der detaillierte Inhalt vonDetaillierte Erläuterung der Verwendung von AJAX-Injection. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!