Interviewfragen zur Sicherheit von Webanwendungen (Junior) mit Antworten

75 Fragen fürs Vorstellungsgespräch zur Sicherheit von Webanwendungen (Junior) mit richtigen Antworten, Erklärungen und Links zur Dokumentation.

Diesen Test machen
  1. 1.Wofür steht die CIA-Triade in der Informationssicherheit?
  2. 2.Ein Formular prüft per JavaScript, dass das Feld für das Alter eine Zahl von 18 bis 120 ist. Reicht das zum Schutz des Servers?
  3. 3.Was ist die OWASP Top 10?
  4. 4.Was bedeutet das Prinzip der geringsten Rechte (Least Privilege)?
  5. 5.Was ist Defense in Depth?
  6. 6.Warum ist „Security through Obscurity“ (zum Beispiel eine geheime Admin-URL) kein echter Schutz?
  7. 7.Was ist eine Vertrauensgrenze (Trust Boundary)?
  8. 8.Welchen Daten aus dem Browser darf der Server ungeprüft trauen?
  9. 9.Was schützt HTTPS?
  10. 10.Eine HTTPS-Seite lädt ein Skript über einfaches http://. Was passiert in modernen Browsern?
  11. 11.Was macht der Header Strict-Transport-Security (HSTS)?
  12. 12.Warum sollte ein Login-Formular nie über einfaches HTTP ausgeliefert werden?
  13. 13.Was garantiert das Schloss-Symbol in der Adressleiste?
  14. 14.Was ist ein Secure Context im Browser?
  15. 15.Warum zeigen Browser bei einem ungültigen oder selbst signierten Zertifikat eine ganzseitige Warnung?
  16. 16.Was ist Cross-Site Scripting (XSS)?
  17. 17.Was ist Stored XSS?
  18. 18.Was ist Reflected XSS?
  19. 19.Was ist DOM-basiertes XSS?
  20. 20.Welche Zeile zeigt den Namen eines Nutzers sicher in einem Element an?
  21. 21.Warum ist das Rendern von {comment.text} in JSX standardmäßig sicher vor XSS?
  22. 22.Welches Risiko bringt dangerouslySetInnerHTML in React?
  23. 23.Warum kann <a href={user.website}> in React trotzdem zu XSS führen?
  24. 24.Was macht ein HTML-Sanitizer wie DOMPurify?
  25. 25.Was ist Output Encoding (Escaping) im Kontext von XSS?
  26. 26.Ein Angreifer hat XSS auf deiner Website. Was kann sein Skript typischerweise tun?
  27. 27.Welcher Ansatz zum Blockieren von XSS ist am zuverlässigsten?
  28. 28.Was ist Cross-Site Request Forgery (CSRF)?
  29. 29.Warum ist CSRF mit Cookie-basierten Sitzungen möglich?
  30. 30.Was ist ein CSRF-Token?
  31. 31.Warum darf eine GET-Anfrage nie Daten ändern (zum Beispiel GET /delete?id=5)?
  32. 32.Was bewirkt SameSite=Lax an einem Sitzungs-Cookie?
  33. 33.Wie unterscheidet sich SameSite=Strict von Lax?
  34. 34.Sieht ein CSRF-Angreifer die Antwort auf die gefälschte Anfrage?
  35. 35.Vor welchem Angriff schützt ein CSRF-Token NICHT?
  36. 36.Aus welchen Teilen besteht der Origin einer URL?
  37. 37.Sind https://app.example.com und https://api.example.com derselbe Origin?
  38. 38.Was verhindert die Same-Origin-Policy?
  39. 39.Was ist CORS?
  40. 40.fetch('https://api.other.com/data') scheitert mit einem CORS-Fehler. Wo behebt man das?
  41. 41.Schützt CORS deine API vor Angreifern mit curl oder einem Skript auf ihrem eigenen Server?
  42. 42.Was ist eine CORS-Preflight-Anfrage?
  43. 43.Warum darf ein Server nicht mit Access-Control-Allow-Origin: * zusammen mit Access-Control-Allow-Credentials: true antworten?
  44. 44.Was ist der Unterschied zwischen CORS und CSRF?
  45. 45.Was macht das Cookie-Attribut HttpOnly?
  46. 46.Was macht das Cookie-Attribut Secure?
  47. 47.Welche Set-Cookie-Zeile ist für ein Sitzungs-Cookie die beste Wahl?
  48. 48.Warum ist es riskant, ein Access-Token in localStorage zu speichern?
  49. 49.Welche Daten sollte man nie in localStorage speichern?
  50. 50.Was ist eine Sitzungs-ID, und wie muss sie sein?
  51. 51.Was sollte mit der Sitzung passieren, wenn sich der Nutzer abmeldet?
  52. 52.Warum sollte direkt nach dem Login eine neue Sitzungs-ID ausgestellt werden?
  53. 53.Was ist der Unterschied zwischen Authentifizierung und Autorisierung?
  54. 54.Wie sollten Passwörter in einer Datenbank gespeichert werden?
  55. 55.Was ist ein Salt beim Passwort-Hashing?
  56. 56.Warum sollte ein Login-Formular „Ungültige E-Mail oder ungültiges Passwort“ statt „Diese E-Mail existiert nicht“ sagen?
  57. 57.Was ist Multi-Faktor-Authentifizierung (MFA)?
  58. 58.Was ist Credential Stuffing?
  59. 59.Welche Maßnahme hilft am meisten gegen Brute-Force-Loginversuche?
  60. 60.Was sagen moderne Richtlinien (zum Beispiel NIST) über Passwortregeln?
  61. 61.Wie sollte ein Link „Passwort vergessen“ funktionieren?
  62. 62.Was ist ein Passkey?
  63. 63.Was ist eine Content Security Policy (CSP)?
  64. 64.Was passiert mit Content-Security-Policy: script-src 'self' mit <script>alert(1)</script>, das in die Seite geschrieben wurde?
  65. 65.Was macht die Direktive default-src?
  66. 66.Wofür nutzt man Content-Security-Policy-Report-Only?
  67. 67.Warum schwächt 'unsafe-inline' in script-src die CSP so stark?
  68. 68.Was ist Clickjacking?
  69. 69.Wie verhindert man, dass andere Websites deine Seiten in Frames einbetten?
  70. 70.Eine React-App braucht den geheimen API-Schlüssel eines Zahlungsanbieters. Wo sollte er liegen?
  71. 71.Welche Umgebungsvariablen landen in Next.js im Browser-Bundle?
  72. 72.Du hast versehentlich einen echten API-Schlüssel in ein öffentliches Git-Repository gepusht. Was ist der richtige erste Schritt?
  73. 73.Was macht npm audit?
  74. 74.Warum sollte die Lockfile (package-lock.json) eingecheckt und in der CI mit npm ci installiert werden?
  75. 75.Warum sind detaillierte Fehlermeldungen mit Stacktraces in Produktion gefährlich?