Питання на співбесіді з веб-безпеки (Junior) з відповідями

75 запитань для співбесіди з теми Веб-безпека (Junior) - з правильними відповідями, поясненнями й посиланнями на документацію.

Пройти цей тест
  1. 1.Що означає тріада CIA в інформаційній безпеці?
  2. 2.Форма перевіряє в JavaScript, що вік - це число від 18 до 120. Чи досить цього, щоб захистити сервер?
  3. 3.Що таке OWASP Top 10?
  4. 4.Що означає принцип найменших привілеїв?
  5. 5.Що таке глибокий захист (defense in depth)?
  6. 6.Чому "безпека через приховування" (наприклад, секретна адреса адмінки) не є справжнім захистом?
  7. 7.Що таке межа довіри (trust boundary)?
  8. 8.Яким даним із браузера сервер може довіряти без перевірки?
  9. 9.Від чого захищає HTTPS?
  10. 10.Сторінка на HTTPS завантажує скрипт через звичайний http://. Що зробить сучасний браузер?
  11. 11.Що робить заголовок Strict-Transport-Security (HSTS)?
  12. 12.Чому форму входу ніколи не можна віддавати через звичайний HTTP?
  13. 13.Що гарантує значок замка в адресному рядку?
  14. 14.Що таке безпечний контекст (secure context) у браузері?
  15. 15.Чому браузер показує попередження на всю сторінку для недійсного чи самопідписаного сертифіката?
  16. 16.Що таке міжсайтовий скриптинг (XSS)?
  17. 17.Що таке збережений (stored) XSS?
  18. 18.Що таке відбитий (reflected) XSS?
  19. 19.Що таке DOM-based XSS?
  20. 20.Який рядок безпечно показує ім'я користувача в елементі?
  21. 21.Чому рендеринг {comment.text} у JSX за замовчуванням безпечний щодо XSS?
  22. 22.Який ризик несе dangerouslySetInnerHTML у React?
  23. 23.Чому <a href={user.website}> у React однаково може призвести до XSS?
  24. 24.Що робить HTML-санітайзер, як-от DOMPurify?
  25. 25.Що таке кодування виводу (екранування) в контексті XSS?
  26. 26.Зловмисник отримав XSS на вашому сайті. Що зазвичай може його скрипт?
  27. 27.Який підхід до блокування XSS найнадійніший?
  28. 28.Що таке підробка міжсайтового запиту (CSRF)?
  29. 29.Чому CSRF можливий із сесіями на cookies?
  30. 30.Що таке CSRF-токен?
  31. 31.Чому GET-запит ніколи не має змінювати дані (наприклад, GET /delete?id=5)?
  32. 32.Що робить SameSite=Lax для cookie сесії?
  33. 33.Чим SameSite=Strict відрізняється від Lax?
  34. 34.Чи бачить автор CSRF-атаки відповідь на підроблений запит?
  35. 35.Від якої атаки CSRF-токен НЕ захищає?
  36. 36.З яких частин складається origin адреси?
  37. 37.Чи однаковий origin у https://app.example.com і https://api.example.com?
  38. 38.Що забороняє політика того самого походження (same-origin policy)?
  39. 39.Що таке CORS?
  40. 40.fetch('https://api.other.com/data') падає з помилкою CORS. Де це виправляють?
  41. 41.Чи захищає CORS ваш API від зловмисників, які використовують curl чи скрипт на власному сервері?
  42. 42.Що таке preflight-запит CORS?
  43. 43.Чому сервер не може відповідати Access-Control-Allow-Origin: * разом з Access-Control-Allow-Credentials: true?
  44. 44.Чим CORS відрізняється від CSRF?
  45. 45.Що робить атрибут cookie HttpOnly?
  46. 46.Що робить атрибут cookie Secure?
  47. 47.Який рядок Set-Cookie найкраще підходить для cookie сесії?
  48. 48.Чому зберігати access token у localStorage ризиковано?
  49. 49.Які дані ніколи не можна зберігати в localStorage?
  50. 50.Що таке ідентифікатор сесії і яким він має бути?
  51. 51.Що має статися із сесією, коли користувач виходить?
  52. 52.Чому одразу після входу треба видавати новий ідентифікатор сесії?
  53. 53.Чим автентифікація відрізняється від авторизації?
  54. 54.Як треба зберігати паролі в базі даних?
  55. 55.Що таке сіль у хешуванні паролів?
  56. 56.Чому форма входу має писати "Неправильний email або пароль", а не "Такого email не існує"?
  57. 57.Що таке багатофакторна автентифікація (MFA)?
  58. 58.Що таке credential stuffing?
  59. 59.Що найкраще допомагає проти перебору паролів на вході?
  60. 60.Що кажуть сучасні рекомендації (наприклад, NIST) про правила для паролів?
  61. 61.Як має працювати посилання "Забули пароль"?
  62. 62.Що таке passkey?
  63. 63.Що таке Content Security Policy (CSP)?
  64. 64.Що станеться з <script>alert(1)</script>, вписаним у сторінку, за Content-Security-Policy: script-src 'self'?
  65. 65.Що робить директива default-src?
  66. 66.Для чого Content-Security-Policy-Report-Only?
  67. 67.Чому 'unsafe-inline' у script-src так сильно послаблює CSP?
  68. 68.Що таке clickjacking?
  69. 69.Як заборонити іншим сайтам вбудовувати ваші сторінки у фрейми?
  70. 70.React-застосунку потрібен секретний API-ключ платіжного провайдера. Де він має бути?
  71. 71.Які змінні оточення в Next.js потрапляють у бандл для браузера?
  72. 72.Ви випадково запушили справжній API-ключ у публічний Git-репозиторій. Який перший правильний крок?
  73. 73.Що робить npm audit?
  74. 74.Чому lock-файл (package-lock.json) треба комітити й у CI встановлювати залежності через npm ci?
  75. 75.Чому докладні повідомлення про помилки зі стеком викликів небезпечні в продакшні?