Ich versuche, XSS von Portswigger und in seinem Labor https://portswigger.net/web-security/cross-site-scripting/contexts/lab-javascript-string-angle-brackets-double-quotes-encoded-single zu lernen -quotes-entkommen , mein Ansatz ergab folgende Javascript - Code.
<script>
var searchTerms = '\\';
alert(1);
\\'';
</script>
Das Problem ist, dass dieser Code mir einen Fehler anzeigt. Aber da Javascript eine interpretierte Sprache ist, sollte es nicht zuerst die Warnung und dann den Fehler anzeigen?
<script>
var searchTerms = '\\';
alert(1);
whatever;
</script>
Wie das obige Code-Snippet auch falsch ist. Auch hier bekomme ich eine Fehlermeldung, aber die Warnung wird auch angezeigt. Warum also nicht im ersten Fall?
Was Sie in Ihrem ersten Code produzieren, ist ein Syntaxfehler . Diese Fehler treten auf, wenn die JavaScript-Engine ein Skript analysiert und auf syntaktisch ungültigen Code stößt. Wenn eine JavaScript-Datei einen Syntaxfehler enthält, wird kein Code in der Datei ausgeführt.
In Ihrem zweiten Code haben Sie keinen Syntaxfehler, sondern einen semantischen Fehler . Deshalb zeigt Ihr zweites Skript die Warnung an.
Dieser Artikel stammt aus dem Internet. Bitte geben Sie beim Nachdruck die Quelle an.
Bei Verstößen wenden Sie sich bitte [email protected] Löschen.
Lass mich ein paar Worte sagen