Ich habe gerade recherchiert, warum die Verwendung eval()
Funktion ist schlecht und ich fand einen Grund, anfällig für Code-Injektion Angriffe (Post: Why is using the JavaScript eval function a bad idea?).Warum sollten wir Code Injection in Javascript beachten?
Aber meine Frage ist, müssen wir unbedingt über die Code-Injektion in Javascript besorgt sein? Wenn ein Benutzer ein JS-Skript für eine Website ausführen möchte, kann er dies tun, indem er in der Konsole ausgeführt wird.
Also, ich frage mich nur, was für zusätzlichen Schaden es tun kann, wenn jemand erfolgreich ist, seinen Code in meinen Javascript-Code zu injizieren?
EDIT
Basierend auf Antwort des Oleander unten, ich einen Weg, der Verwundbarkeit gefunden, wenn wir die Kommunikation zwischen dem Browser und dem Server über AJAX aufruft. Das macht vollkommen Sinn. Aber ich habe vielleicht Javascript-Programme, die nur im Browser laufen und keine Kommunikation zum Backend haben, zum Beispiel einen Rechner oder ein einfaches Spiel. Also meine Zusatzfrage, gibt es irgendeinen anderen Grund, der diese Programme angreifbar machen kann?
Code-Injektionen sind schädlich, wenn sie von jemand anderem als dem Benutzer gemacht werden. Sind Sie sicher, dass Ihr Benutzer der einzige ist, der das Argument des 'eval' kontrolliert? – Bergi
Wenn ich über das Javascript rede, sollte es der Benutzer sein, der nur die Eingaben (in Formularen) ändern kann. Ich bin mir über keinen anderen Weg sicher.Hast du noch ein mögliches Beispiel? –
@TareqMahmood Ich postete ein Beispiel – Oleander