Interviewfragen zur Sicherheit von Webanwendungen (Middle) mit Antworten
75 Fragen fürs Vorstellungsgespräch zur Sicherheit von Webanwendungen (Middle) mit richtigen Antworten, Erklärungen und Links zur Dokumentation.
Diesen Test machen- 1.Ein Wert wird HTML-escaped und dann in ein Inline-Skript gesetzt:
<script>var q = '{{value}}';</script>. Warum ist das trotzdem unsicher? - 2.Welches davon ist eine Senke (Sink) für DOM-XSS?
- 3.Welches davon ist eine typische Quelle für DOM-XSS?
- 4.Warum ist
eval(userInput)odernew Function(userInput)immer gefährlich? - 5.Wie steht
v-htmlvon Vue in Bezug auf XSS da? - 6.Was macht
bypassSecurityTrustHtml()in Angular? - 7.Nutzer können SVG-Avatare hochladen, die von deiner Hauptdomain ausgeliefert werden. Was ist das Risiko?
- 8.Deine App rendert von Nutzern geschriebenes Markdown zu HTML. Was muss passieren, bevor das Ergebnis in die Seite kommt?
- 9.Warum ist „bei der Eingabe bereinigen, saubere Version speichern“ weniger zuverlässig als Kodierung bei der Ausgabe?
- 10.Was bringen Trusted Types zusätzlich zur normalen XSS-Abwehr?
- 11.Eine App schreibt den Anzeigenamen eines Nutzers ohne Anführungszeichen in ein Attribut:
<div title={{name}}>. Was macht das schlimmer als ein Attribut mit Anführungszeichen? - 12.Serverseitig gerenderter State wird so eingebettet:
<script>window.__STATE__ = ${JSON.stringify(state)}</script>. Was ist das Problem? - 13.Wie funktioniert eine CSP auf Nonce-Basis?
- 14.Was ist eine CSP-Quelle auf Hash-Basis wie
'sha256-...'? - 15.Was macht
'strict-dynamic'inscript-src? - 16.Warum gilt eine CSP wie
script-src 'self' https://cdn.example.com https://www.google.comals schwach? - 17.Wovor schützt
object-src 'none'? - 18.Warum sollte eine strikte CSP
base-uri 'none'(oder'self') enthalten? - 19.Welche CSP-Direktive begrenzt, wohin
fetch, XHR und WebSocket-Verbindungen gehen dürfen? - 20.Ist eine CSP in einem Tag
<meta http-equiv>dasselbe wie eine im Antwort-Header? - 21.Wie richtet man in Next.js meist eine CSP auf Nonce-Basis ein?
- 22.Wie sammelt man Berichte über CSP-Verstöße?
- 23.Ersetzt
SameSite=LaxCSRF-Tokens vollständig? - 24.Was ist das Double-Submit-Cookie-Muster?
- 25.Wie kann die Prüfung des Headers
Origingegen CSRF helfen? - 26.Was sagt der Request-Header
Sec-Fetch-Sitedem Server? - 27.Eine API akzeptiert nur
Content-Type: application/json. Warum erschwert das klassisches CSRF? - 28.Was ist Login-CSRF?
- 29.Eine App authentifiziert API-Aufrufe mit einem Header
Authorization: Beareraus dem Speicher, nicht mit Cookies. Ist CSRF ein Thema? - 30.Warum sollte man CSRF-Tokens nicht in URLs legen (zum Beispiel
?csrf=...)? - 31.Warum ist es gefährlich, jeden Request-
Originmit Zugangsdaten inAccess-Control-Allow-Originzurückzuspiegeln? - 32.Ein Server erlaubt jeden Origin, der auf
example.comendet. Was ist der Fehler? - 33.Warum darf
Access-Control-Allow-Origin: nullnie mit Zugangsdaten erlaubt sein? - 34.Welchen Header sollte der Server ergänzen, wenn die Antwort vom Request-
Originabhängt? - 35.Was steuert
Access-Control-Max-Age? - 36.Welche Antwort-Header kann Frontend-Code standardmäßig aus einer Cross-Origin-Antwort lesen?
- 37.Ein
fetchsendetcredentials: 'include'an einen anderen Origin. Was braucht der Browser noch, um die Antwort freizugeben? - 38.Welche Anfrage löst KEINEN CORS-Preflight aus?
- 39.Aus welchen drei Teilen besteht ein JWT?
- 40.Ist der Payload eines signierten JWT (JWS) geheim?
- 41.Was muss ein Server prüfen, wenn er ein JWT bekommt?
- 42.Was ist der Angriff
alg: noneauf JWTs? - 43.Warum lassen sich JWTs schwerer widerrufen als serverseitige Sitzungen?
- 44.Was ist Refresh Token Rotation?
- 45.Warum sind Access-Tokens meist kurzlebig (Minuten), während Refresh-Tokens länger leben?
- 46.Was garantiert das Präfix
__Host-im Namen eines Cookies? - 47.Welche Sitzungs-Timeouts werden empfohlen?
- 48.Warum sollte ein Nutzer vor dem Ändern seiner E-Mail oder seines Passworts erneut nach dem Passwort gefragt werden?
- 49.Welcher OAuth-2.0-Flow wird heute für eine Single-Page-App empfohlen?
- 50.Welches Problem löst PKCE?
- 51.Wofür ist der Parameter
statein OAuth da? - 52.Warum muss der Autorisierungsserver
redirect_uriexakt mit registrierten Werten abgleichen? - 53.Was ist der Unterschied zwischen einem OIDC-ID-Token und einem OAuth-Access-Token?
- 54.Was sind OAuth-Scopes?
- 55.Warum sollte eine Browser-App kein OAuth-Client-Secret halten?
- 56.„Mit Google anmelden“ liefert deinem Backend ein ID-Token. Was muss das Backend prüfen?
- 57.Was ist IDOR (Insecure Direct Object Reference)?
- 58.Ein Admin-Button ist für normale Nutzer in der UI versteckt. Ist das Zugriffskontrolle?
- 59.Was ist Mass Assignment?
- 60.Was ist der Unterschied zwischen RBAC und ABAC?
- 61.Warum ist „standardmäßig verweigern“ die sicherere Autorisierungsrichtlinie?
- 62.Ein Multi-Tenant-SaaS filtert Daten nach
tenantIdaus dem Request-Body. Was ist das Risiko? - 63.Wie verhindert man SQL-Injection?
- 64.Was ist NoSQL-Injection, zum Beispiel in MongoDB?
- 65.Welcher Node.js-Aufruf ist mit Nutzereingaben am gefährlichsten?
- 66.Was ist Prototype Pollution?
- 67.Wie verhindert man Path Traversal in einem Endpunkt zum Herunterladen von Dateien?
- 68.Was ist Server-Side Template Injection?
- 69.Was macht
X-Content-Type-Options: nosniff? - 70.Welches Risiko verringert der Header
Referrer-Policy? - 71.Wofür nutzt man
Permissions-Policy? - 72.Was bringt es, eine Website in die HSTS-Preload-Liste aufzunehmen?
- 73.Was macht
Cross-Origin-Resource-Policy: same-origin? - 74.Eine Login-Seite leitet nach Erfolg auf
?next=um. Wie lässt sich das missbrauchen? - 75.Was muss ein Handler für das Event
messagevonpostMessageprüfen?