Pytania rekrutacyjne z bezpieczeństwa aplikacji webowych (Junior) z odpowiedziami

75 pytań na rozmowę rekrutacyjną z tematu Bezpieczeństwo aplikacji webowych (Junior) - z poprawnymi odpowiedziami, wyjaśnieniami i linkami do dokumentacji.

Rozwiąż ten test
  1. 1.Co oznacza triada CIA w bezpieczeństwie informacji?
  2. 2.Formularz sprawdza w JavaScript, że wiek to liczba od 18 do 120. Czy to wystarczy, by chronić serwer?
  3. 3.Czym jest OWASP Top 10?
  4. 4.Co oznacza zasada najmniejszych uprawnień?
  5. 5.Czym jest obrona w głąb (defense in depth)?
  6. 6.Dlaczego "bezpieczeństwo przez ukrywanie" (np. tajny adres panelu admina) nie jest prawdziwą ochroną?
  7. 7.Czym jest granica zaufania (trust boundary)?
  8. 8.Którym danym z przeglądarki serwer może ufać bez sprawdzania?
  9. 9.Przed czym chroni HTTPS?
  10. 10.Strona na HTTPS ładuje skrypt przez zwykłe http://. Co zrobi nowoczesna przeglądarka?
  11. 11.Co robi nagłówek Strict-Transport-Security (HSTS)?
  12. 12.Dlaczego formularz logowania nigdy nie powinien być serwowany przez zwykłe HTTP?
  13. 13.Co gwarantuje ikona kłódki w pasku adresu?
  14. 14.Czym jest bezpieczny kontekst (secure context) w przeglądarce?
  15. 15.Dlaczego przeglądarka pokazuje ostrzeżenie na całą stronę przy nieważnym lub samopodpisanym certyfikacie?
  16. 16.Czym jest cross-site scripting (XSS)?
  17. 17.Czym jest stored XSS?
  18. 18.Czym jest reflected XSS?
  19. 19.Czym jest DOM-based XSS?
  20. 20.Która linia bezpiecznie pokazuje imię użytkownika w elemencie?
  21. 21.Dlaczego renderowanie {comment.text} w JSX jest domyślnie bezpieczne przed XSS?
  22. 22.Jakie ryzyko niesie dangerouslySetInnerHTML w React?
  23. 23.Dlaczego <a href={user.website}> w React wciąż może prowadzić do XSS?
  24. 24.Co robi sanitizer HTML, taki jak DOMPurify?
  25. 25.Czym jest kodowanie wyjścia (escaping) w kontekście XSS?
  26. 26.Atakujący znalazł XSS na Twojej stronie. Co zwykle może zrobić jego skrypt?
  27. 27.Które podejście do blokowania XSS jest najbardziej niezawodne?
  28. 28.Czym jest cross-site request forgery (CSRF)?
  29. 29.Dlaczego CSRF jest możliwy przy sesjach opartych na ciasteczkach?
  30. 30.Czym jest token CSRF?
  31. 31.Dlaczego żądanie GET nigdy nie powinno zmieniać danych (np. GET /delete?id=5)?
  32. 32.Co robi SameSite=Lax na ciasteczku sesji?
  33. 33.Czym SameSite=Strict różni się od Lax?
  34. 34.Czy autor ataku CSRF widzi odpowiedź na sfałszowane żądanie?
  35. 35.Przed którym atakiem token CSRF NIE chroni?
  36. 36.Z jakich części składa się origin adresu URL?
  37. 37.Czy https://app.example.com i https://api.example.com mają ten sam origin?
  38. 38.Czego zabrania polityka tego samego pochodzenia (same-origin policy)?
  39. 39.Czym jest CORS?
  40. 40.fetch('https://api.other.com/data') kończy się błędem CORS. Gdzie to się naprawia?
  41. 41.Czy CORS chroni Twoje API przed atakującymi używającymi curl lub skryptu na własnym serwerze?
  42. 42.Czym jest żądanie preflight w CORS?
  43. 43.Dlaczego serwer nie może odpowiedzieć Access-Control-Allow-Origin: * razem z Access-Control-Allow-Credentials: true?
  44. 44.Czym różni się CORS od CSRF?
  45. 45.Co robi atrybut ciasteczka HttpOnly?
  46. 46.Co robi atrybut ciasteczka Secure?
  47. 47.Która linia Set-Cookie najlepiej nadaje się dla ciasteczka sesji?
  48. 48.Dlaczego przechowywanie access tokena w localStorage jest ryzykowne?
  49. 49.Jakich danych nigdy nie należy trzymać w localStorage?
  50. 50.Czym jest identyfikator sesji i jaki powinien być?
  51. 51.Co powinno się stać z sesją, gdy użytkownik się wyloguje?
  52. 52.Dlaczego zaraz po zalogowaniu trzeba wydać nowy identyfikator sesji?
  53. 53.Czym różni się uwierzytelnianie od autoryzacji?
  54. 54.Jak należy przechowywać hasła w bazie danych?
  55. 55.Czym jest sól w hashowaniu haseł?
  56. 56.Dlaczego formularz logowania powinien pisać "Nieprawidłowy e-mail lub hasło", a nie "Taki e-mail nie istnieje"?
  57. 57.Czym jest uwierzytelnianie wieloskładnikowe (MFA)?
  58. 58.Czym jest credential stuffing?
  59. 59.Co najbardziej pomaga przeciw atakom brute force na logowanie?
  60. 60.Co mówią współczesne wytyczne (np. NIST) o regułach haseł?
  61. 61.Jak powinien działać link "Nie pamiętam hasła"?
  62. 62.Czym jest passkey?
  63. 63.Czym jest Content Security Policy (CSP)?
  64. 64.Co stanie się z <script>alert(1)</script> wpisanym w stronę przy Content-Security-Policy: script-src 'self'?
  65. 65.Co robi dyrektywa default-src?
  66. 66.Do czego służy Content-Security-Policy-Report-Only?
  67. 67.Dlaczego dodanie 'unsafe-inline' do script-src tak bardzo osłabia CSP?
  68. 68.Czym jest clickjacking?
  69. 69.Jak zabronić innym stronom osadzania Twoich stron w ramkach?
  70. 70.Aplikacja React potrzebuje tajnego klucza API operatora płatności. Gdzie powinien się znajdować?
  71. 71.Które zmienne środowiskowe w Next.js trafiają do bundla przeglądarki?
  72. 72.Przypadkiem wypchnąłeś prawdziwy klucz API do publicznego repozytorium Git. Jaki jest właściwy pierwszy krok?
  73. 73.Co robi npm audit?
  74. 74.Dlaczego plik lock (package-lock.json) trzeba commitować, a w CI instalować zależności przez npm ci?
  75. 75.Dlaczego szczegółowe komunikaty błędów ze stosem wywołań są groźne na produkcji?