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