icoa-cli 2.19.20 → 2.19.22
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/commands/exam.js +1 -1
- package/dist/commands/lang.js +46 -15
- package/dist/lib/demo-exam.js +23 -12
- package/dist/lib/i18n.js +2 -1
- package/dist/lib/translation.js +1 -0
- package/dist/types/index.d.ts +3 -1
- package/dist/types/index.js +1 -1
- package/package.json +1 -1
- package/translations/uk/1.json +9 -0
- package/translations/uk/10.json +9 -0
- package/translations/uk/11.json +9 -0
- package/translations/uk/12.json +9 -0
- package/translations/uk/13.json +9 -0
- package/translations/uk/14.json +9 -0
- package/translations/uk/15.json +9 -0
- package/translations/uk/16.json +9 -0
- package/translations/uk/17.json +9 -0
- package/translations/uk/18.json +9 -0
- package/translations/uk/19.json +9 -0
- package/translations/uk/20.json +9 -0
- package/translations/uk/21.json +9 -0
- package/translations/uk/22.json +9 -0
- package/translations/uk/23.json +9 -0
- package/translations/uk/24.json +9 -0
- package/translations/uk/25.json +9 -0
- package/translations/uk/26.json +9 -0
- package/translations/uk/27.json +9 -0
- package/translations/uk/28.json +9 -0
- package/translations/uk/29.json +9 -0
- package/translations/uk/30.json +9 -0
- package/translations/uk/31.json +9 -0
- package/translations/uk/32.json +9 -0
- package/translations/uk/33.json +9 -0
- package/translations/uk/34.json +9 -0
- package/translations/uk/35.json +9 -0
- package/translations/uk/36.json +9 -0
- package/translations/uk/37.json +9 -0
- package/translations/uk/38.json +9 -0
- package/translations/uk/39.json +9 -0
- package/translations/uk/4.json +9 -0
- package/translations/uk/40.json +9 -0
- package/translations/uk/41.json +9 -0
- package/translations/uk/42.json +9 -0
- package/translations/uk/43.json +9 -0
- package/translations/uk/44.json +9 -0
- package/translations/uk/45.json +9 -0
- package/translations/uk/46.json +9 -0
- package/translations/uk/47.json +9 -0
- package/translations/uk/48.json +9 -0
- package/translations/uk/49.json +9 -0
- package/translations/uk/5.json +9 -0
- package/translations/uk/6.json +9 -0
- package/translations/uk/7.json +9 -0
- package/translations/uk/8.json +9 -0
- package/translations/uk/9.json +9 -0
- package/translations/uk/demo-explanations.json +32 -0
- package/translations/uk/demo.json +332 -0
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
{
|
|
2
|
+
"id": 33,
|
|
3
|
+
"name": "Say Shells!",
|
|
4
|
+
"category": "pwn",
|
|
5
|
+
"translation": "Простий web app дозволяє завантажувати файли зображень для перегляду їхніх EXIF metadata. Але щось здається підозрілим... чи не аналізуються ваші зображення занадто глибоко?\nЧи зможете ви обдурити сервер, змусивши його виконати вашу власну команду — та розкрити вміст прихованого файлу flag.txt?\n\nПримітка: Дозволено завантаження лише файлів зображень. Вам не знадобиться brute force — лише трохи креативності та правильний формат.",
|
|
6
|
+
"lang": "uk",
|
|
7
|
+
"model": "gemini-3.1-pro-preview",
|
|
8
|
+
"timestamp": "2026-04-11T08:01:13.529Z"
|
|
9
|
+
}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
{
|
|
2
|
+
"id": 35,
|
|
3
|
+
"name": "cafe1995",
|
|
4
|
+
"category": "rev",
|
|
5
|
+
"translation": "Ви зібрали по шматочках програму від розробника, який працював без нагляду і якого щойно звільнили. Знайдіть пароль та поверніть компанію у звичне русло... інакше звільнять і вас.",
|
|
6
|
+
"lang": "uk",
|
|
7
|
+
"model": "gemini-3.1-pro-preview",
|
|
8
|
+
"timestamp": "2026-04-11T08:01:51.857Z"
|
|
9
|
+
}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
{
|
|
2
|
+
"id": 36,
|
|
3
|
+
"name": "Doors 3",
|
|
4
|
+
"category": "rev",
|
|
5
|
+
"translation": "У вашого друга є ще один, останній flag, який, на його думку, ви не зможете дістати, оскільки він тестує свою здатність виявляти обхід licence check.\n\nСпробуйте здобути цей останній flag. Можливо, вам доведеться застосувати patch до binary, щоб досягти мети, але існує кілька шляхів вирішення.",
|
|
6
|
+
"lang": "uk",
|
|
7
|
+
"model": "gemini-3.1-pro-preview",
|
|
8
|
+
"timestamp": "2026-04-11T08:02:06.047Z"
|
|
9
|
+
}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
{
|
|
2
|
+
"id": 37,
|
|
3
|
+
"name": "Doors 2",
|
|
4
|
+
"category": "rev",
|
|
5
|
+
"translation": "Твій друг дуже вдячний, що ти знайшов той flag, про який він забув!\n\nВін витратив трохи часу, щоб сховати решту flags, і сподівається, що ти не зможеш до них дістатися. Як гадаєш, ти зможеш зробити reverse його key validation function?\nЗгенеруй свій власний licence key для його програми та отримай flag!",
|
|
6
|
+
"lang": "uk",
|
|
7
|
+
"model": "gemini-3.1-pro-preview",
|
|
8
|
+
"timestamp": "2026-04-11T08:02:18.402Z"
|
|
9
|
+
}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
{
|
|
2
|
+
"id": 38,
|
|
3
|
+
"name": "Doors",
|
|
4
|
+
"category": "rev",
|
|
5
|
+
"translation": "Ваш друг надіслав вам прототипну версію програми для перевірки ключів безпеки, яку він пише на C#. У ній є кілька прапорців, але чи можете ви допомогти знайти той прапорець, який він забув зашифрувати?",
|
|
6
|
+
"lang": "uk",
|
|
7
|
+
"model": "gemini-3.1-pro-preview",
|
|
8
|
+
"timestamp": "2026-04-11T08:02:41.110Z"
|
|
9
|
+
}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
{
|
|
2
|
+
"id": 39,
|
|
3
|
+
"name": "Too Many Flags",
|
|
4
|
+
"category": "rev",
|
|
5
|
+
"translation": "Ми знайшли цей файл, повний flags, але не знаємо, який із них правильний! Чи можете ви з'ясувати, як ці flags були згенеровані, і знайти правильний?",
|
|
6
|
+
"lang": "uk",
|
|
7
|
+
"model": "gemini-3.1-pro-preview",
|
|
8
|
+
"timestamp": "2026-04-11T08:02:51.473Z"
|
|
9
|
+
}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
{
|
|
2
|
+
"id": 4,
|
|
3
|
+
"name": "#InMyLibraryClashingEra",
|
|
4
|
+
"category": "crypto",
|
|
5
|
+
"translation": "Я створив комічно просту? hash function. Знайдіть clash, і я підкажу, до якої бібліотеки їхати. Тобто, якщо ви зможете прочитати те, що я маю. Моя провина, я випив 32 мл Base model Dasani перед тим, як зробити це.\n\nМоже знадобитися pycryptodome, тому встановіть його заздалегідь.\n\nНе забудьте обгорнути прапор у `pecan{flag}`.",
|
|
6
|
+
"lang": "uk",
|
|
7
|
+
"model": "gemini-3.1-pro-preview",
|
|
8
|
+
"timestamp": "2026-04-11T07:51:04.308Z"
|
|
9
|
+
}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
{
|
|
2
|
+
"id": 40,
|
|
3
|
+
"name": "Xanarto",
|
|
4
|
+
"category": "rev",
|
|
5
|
+
"translation": "Я знайшов у LinkedIn одного хлопця, який стверджує, що створив незламний алгоритм. Доведіть, що він помиляється. Я прикріпив цей пост у вигляді зображення.",
|
|
6
|
+
"lang": "uk",
|
|
7
|
+
"model": "gemini-3.1-pro-preview",
|
|
8
|
+
"timestamp": "2026-04-11T08:03:00.809Z"
|
|
9
|
+
}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
{
|
|
2
|
+
"id": 41,
|
|
3
|
+
"name": "Cheese",
|
|
4
|
+
"category": "steg",
|
|
5
|
+
"translation": "Для цього завдання потрібно зануритися в глибини наданого файлу зображення як частину сирного прокляття, використовуючи різні інструменти, щоб виявити те, що дехто відкинув би як абсолютно випадковий текст.\n\nЯкби ж тільки цей string можна було якось змінити або конвертувати, це могло б стати нашою єдиною надією знайти flag, щоб зняти сирне прокляття раз і назавжди......\n\nНасолоджуйтесь :)",
|
|
6
|
+
"lang": "uk",
|
|
7
|
+
"model": "gemini-3.1-pro-preview",
|
|
8
|
+
"timestamp": "2026-04-11T08:03:18.956Z"
|
|
9
|
+
}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
{
|
|
2
|
+
"id": 42,
|
|
3
|
+
"name": "Dogs Always Know",
|
|
4
|
+
"category": "steg",
|
|
5
|
+
"translation": "Собаки мають нюх на секрети — закопані глибоко, там, де ніхто й не подумає шукати. Довіртеся їхнім інстинктам; іноді приховане знаходиться не на видноті, а в кістках під поверхнею.",
|
|
6
|
+
"lang": "uk",
|
|
7
|
+
"model": "gemini-3.1-pro-preview",
|
|
8
|
+
"timestamp": "2026-04-11T08:03:27.860Z"
|
|
9
|
+
}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
{
|
|
2
|
+
"id": 43,
|
|
3
|
+
"name": "In the fine print",
|
|
4
|
+
"category": "steg",
|
|
5
|
+
"translation": "У невідомому місці було знайдено набір роздрукованих документів. На перший погляд вони здаються цілком безневинними, але щось тут не так...",
|
|
6
|
+
"lang": "uk",
|
|
7
|
+
"model": "gemini-3.1-pro-preview",
|
|
8
|
+
"timestamp": "2026-04-11T08:03:36.817Z"
|
|
9
|
+
}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
{
|
|
2
|
+
"id": 46,
|
|
3
|
+
"name": "Looking through the sound",
|
|
4
|
+
"category": "steg",
|
|
5
|
+
"translation": "Не кожне повідомлення мандрує на хвилях звуку. Вам доведеться *подивитися* крізь шум. Дозвольте своїм очам слухати, і нехай музика напише це для вас. Примітка: вам *не* потрібно слухати аудіо, щоб виконати це завдання.",
|
|
6
|
+
"lang": "uk",
|
|
7
|
+
"model": "gemini-3.1-pro-preview",
|
|
8
|
+
"timestamp": "2026-04-11T08:04:13.381Z"
|
|
9
|
+
}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
{
|
|
2
|
+
"id": 47,
|
|
3
|
+
"name": "Nothing to See Here",
|
|
4
|
+
"category": "steg",
|
|
5
|
+
"translation": "Ось невеликий малюнок, який я зробив. Проте на ньому нічого не видно, як ви самі бачите.",
|
|
6
|
+
"lang": "uk",
|
|
7
|
+
"model": "gemini-3.1-pro-preview",
|
|
8
|
+
"timestamp": "2026-04-11T08:04:23.103Z"
|
|
9
|
+
}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
{
|
|
2
|
+
"id": 48,
|
|
3
|
+
"name": "Stuck in Your Head",
|
|
4
|
+
"category": "steg",
|
|
5
|
+
"translation": "Тобі варто послухати мою улюблену пісню і назвати мені 21 причину, чому вона найкраща!",
|
|
6
|
+
"lang": "uk",
|
|
7
|
+
"model": "gemini-3.1-pro-preview",
|
|
8
|
+
"timestamp": "2026-04-11T08:04:30.841Z"
|
|
9
|
+
}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
{
|
|
2
|
+
"id": 49,
|
|
3
|
+
"name": "TLSB",
|
|
4
|
+
"category": "steg",
|
|
5
|
+
"translation": "Можливо, ви чули про Least Significant Bit (LSB) Steganography, але чи чули ви коли-небудь про Third Least Significant Bit (TLSB) Steganography? (Сподіваюся, що ні, враховуючи, що я вигадав це спеціально для цього завдання). (ПІДКАЗКА: я зберіг секрет у image byte order)",
|
|
6
|
+
"lang": "uk",
|
|
7
|
+
"model": "gemini-3.1-pro-preview",
|
|
8
|
+
"timestamp": "2026-04-11T08:04:42.130Z"
|
|
9
|
+
}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
{
|
|
2
|
+
"id": 5,
|
|
3
|
+
"name": "Multi-layer",
|
|
4
|
+
"category": "crypto",
|
|
5
|
+
"translation": "Ця штука має шари.\n\n```\nZnJpcmEgbyBmY25wciBmcmlyYSBhdmFyIGZjbnByIGZ2ayBzIGZjbnByIGZyaXJhIHN2aXIgZmNucHIgZ2piIG1yZWIgZmNucHIgZnZrIGZyaXJhIGZjbnByIGZ2ayBzIGZjbnByIGZyaXJhIHNiaGUgZmNucHIgZ2piIG1yZWIgZmNucHIgZnJpcmEgc2JoZSBmY25wciBmdmsgcnZ0dWcgZmNucHIgZnZrIGF2YXIgZmNucHIgZnJpcmEgZ3VlcnIgZmNucHIgZnJpcmEgcQ==\n```\n\nПам'ятайте, що формат прапорця — `pecan{flag_goes_here}`",
|
|
6
|
+
"lang": "uk",
|
|
7
|
+
"model": "gemini-3.1-pro-preview",
|
|
8
|
+
"timestamp": "2026-04-11T07:51:17.078Z"
|
|
9
|
+
}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
{
|
|
2
|
+
"id": 6,
|
|
3
|
+
"name": "Mysteries of the Tomb",
|
|
4
|
+
"category": "crypto",
|
|
5
|
+
"translation": "У темних глибинах Долини Царів дослідники виявили гробницю, давно загублену в часі. У самому її серці лежить стародавня кам'яна табличка, ретельно вкрита таємничими гліфами — піраміда секретів, створена відданими писарями, що охороняли найсвятіший скарб фараона.\n\nЗавдяки ретельному перекладу простежується одна й та сама легенда: ця табличка містить ключ до небаченої могутності. Озброївшись своїми старанними нотатками та дедалі глибшим розумінням символів, ви починаєте розгадувати це загадкове послання.\n\nНаразі напис на вершині таблички читається так:\n«Щоб розкрити істину, читай камені в перших променях світанку, ведучи погляд від вершини вниз, до сипучих пісків».\n\nФормат: `pecan{flag}`",
|
|
6
|
+
"lang": "uk",
|
|
7
|
+
"model": "gemini-3.1-pro-preview",
|
|
8
|
+
"timestamp": "2026-04-11T07:51:34.575Z"
|
|
9
|
+
}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
{
|
|
2
|
+
"id": 7,
|
|
3
|
+
"name": "RSA101",
|
|
4
|
+
"category": "crypto",
|
|
5
|
+
"translation": "Ми отримали повідомлення, яке, як ми вважаємо, зашифроване за допомогою RSA, але primes у public key можуть бути слабкими.\nЗнайдіть factors та розшифруйте повідомлення.\n\n```\nn = 914224879713534891752745051672415462330144197757968187295993\ne = 17\nciphertext = 152293808340616594229073242267037730353433147091103189533666\n```",
|
|
6
|
+
"lang": "uk",
|
|
7
|
+
"model": "gemini-3.1-pro-preview",
|
|
8
|
+
"timestamp": "2026-04-11T07:51:52.496Z"
|
|
9
|
+
}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
{
|
|
2
|
+
"id": 8,
|
|
3
|
+
"name": "Sheet Music Cipher",
|
|
4
|
+
"category": "crypto",
|
|
5
|
+
"translation": "Ніхто ніколи не дізнається, що я використав Compound Motivic Musical Cipher. Я можу просто грати музику вголос і надсилати повідомлення так, щоб ніхто нічого не запідозрив.",
|
|
6
|
+
"lang": "uk",
|
|
7
|
+
"model": "gemini-3.1-pro-preview",
|
|
8
|
+
"timestamp": "2026-04-11T07:52:00.893Z"
|
|
9
|
+
}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
{
|
|
2
|
+
"id": 9,
|
|
3
|
+
"name": "That's Not My Unicode",
|
|
4
|
+
"category": "crypto",
|
|
5
|
+
"translation": "Ці дивні символи здаються стародавніми, але, можливо, вони намагаються розповісти вам щось більш сучасне. Зберіть докупи повідомлення, приховане на видноті — іноді те, що виглядає старим, може говорити новою мовою.",
|
|
6
|
+
"lang": "uk",
|
|
7
|
+
"model": "gemini-3.1-pro-preview",
|
|
8
|
+
"timestamp": "2026-04-11T07:52:09.494Z"
|
|
9
|
+
}
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
{
|
|
2
|
+
"1": "RSA — це асиметричний (з відкритим ключем) шифр. AES, DES та Blowfish є симетричними шифрами, які використовують один і той самий ключ для шифрування та дешифрування.",
|
|
3
|
+
"2": "SQL ін'єкція виникає, коли користувацький ввід вставляється безпосередньо в запити до бази даних без належного очищення, дозволяючи зловмисникам маніпулювати запитом.",
|
|
4
|
+
"3": "HTTP 403 означає Заборонено — сервер зрозумів запит, але відмовляється його авторизувати. 401 — Неавторизовано, 404 — Не знайдено, 500 — Внутрішня помилка сервера.",
|
|
5
|
+
"4": "Нонс (число, що використовується один раз) — це випадкове значення, яке використовується в криптографічних протоколах для запобігання атакам повторного відтворення, гарантуючи, що кожен запит або повідомлення є унікальним і не може бути повторно використаним зловмисником.",
|
|
6
|
+
"5": "Wireshark є стандартним інструментом для перехоплення та аналізу мережевих пакетів. Burp Suite призначений для веб-тестування, John the Ripper — для злому паролів, Ghidra — для реверс-інжинірингу.",
|
|
7
|
+
"6": "XSS розшифровується як міжсайтовий скриптинг — вразливість, при якій зловмисники впроваджують шкідливі скрипти у вебсторінки, які переглядають інші користувачі.",
|
|
8
|
+
"7": "Файрвол фільтрує мережевий трафік на основі правил безпеки, блокуючи несанкціонований доступ і дозволяючи при цьому легітимну комунікацію. Він не шифрує дані, не сканує на віруси та не прискорює з'єднання.",
|
|
9
|
+
"8": "Троян маскується під легітимне програмне забезпечення, щоб обманом змусити користувачів встановити його. На відміну від черв'яків, трояни не самовідтворюються.",
|
|
10
|
+
"9": "HTTPS (HTTP Secure) використовує TLS/SSL для шифрування веб-трафіку, захищаючи дані від перехоплення та підміни. HTTP, FTP та SMTP за замовчуванням не є безпечними.",
|
|
11
|
+
"10": "Криптографічний хеш — це одностороння функція, яка створює дайджест фіксованого розміру. Його неможливо обернути, на відміну від шифрування.",
|
|
12
|
+
"11": "Ghidra — це інструмент для реверс-інжинірингу та аналізу бінарних файлів, розроблений АНБ. Nmap сканує порти, SQLMap тестує на SQL-ін'єкції, Nikto сканує вебсервери.",
|
|
13
|
+
"12": "DNS-спуфінг (отруєння кешу) маніпулює відповідями DNS, щоб перенаправити жертв на підконтрольні зловмисникам сервери. Він відрізняється від фішингу, SQLi та брутфорсу.",
|
|
14
|
+
"13": "SSH (Secure Shell) за замовчуванням працює на порту 22. Порт 21 — це FTP, 80 — HTTP, 443 — HTTPS.",
|
|
15
|
+
"14": "Двофакторна автентифікація (2FA) вимагає двох різних типів облікових даних — того, що ви знаєте (пароль), і того, що ви маєте (телефон/токен) або ким ви є (біометрія).",
|
|
16
|
+
"15": "Команда \"netstat -tulpn\" показує всі TCP/UDP-порти, що прослуховуються, з інформацією про процеси. \"ls -la\" виводить список файлів, \"chmod\" змінює права доступу, \"cat /etc/passwd\" показує облікові записи користувачів.",
|
|
17
|
+
"16": "Атака Man-in-the-Middle (MitM) перехоплює та потенційно змінює комунікацію між двома сторонами, які вважають, що спілкуються безпосередньо одна з одною.",
|
|
18
|
+
"17": "SHA-256 — це криптографічна хеш-функція. AES-256 — симетричний шифр, RSA-2048 — асиметричний шифр, а Diffie-Hellman — протокол обміну ключами.",
|
|
19
|
+
"18": "Принцип найменших привілеїв означає надання користувачам лише мінімальних прав, необхідних для виконання їхніх завдань, що зменшує поверхню атаки.",
|
|
20
|
+
"19": "Nmap — це стандартний інструмент для сканування портів. Wireshark перехоплює пакети, Metasploit — це фреймворк для експлуатації, а Hashcat — програма для злому паролів.",
|
|
21
|
+
"20": "Ransomware шифрує файли жертви та вимагає оплату (зазвичай у криптовалюті) в обмін на ключ розшифрування.",
|
|
22
|
+
"21": "Симетричне шифрування використовує єдиний спільний ключ як для шифрування, так і для розшифрування. Асиметричне шифрування використовує пару ключів — відкритий ключ для шифрування та приватний ключ для розшифрування.",
|
|
23
|
+
"22": "Віддалене виконання коду (RCE) дозволяє зловмиснику виконувати довільний код на цільовому сервері, що часто призводить до повної компрометації системи. CSRF, clickjacking та open redirect мають різні наслідки.",
|
|
24
|
+
"23": "OWASP (Open Web Application Security Project) — це некомерційна організація, яка публікує широко використовувані стандарти та посібники з веб-безпеки, зокрема OWASP Top 10.",
|
|
25
|
+
"24": "Команда chmod змінює права доступу до файлів у Linux. chown змінює власника, chgrp змінює групу, а passwd змінює паролі користувачів.",
|
|
26
|
+
"25": "Сертифікат SSL/TLS — це цифровий документ, виданий довіреним центром сертифікації, який підтверджує ідентичність вебсайту та забезпечує зашифровані HTTPS-з'єднання.",
|
|
27
|
+
"26": "Phishing — це атака методами соціальної інженерії, яка обманом змушує людей розкривати конфіденційну інформацію. Buffer overflow, SQL injection та port scanning — це технічні атаки.",
|
|
28
|
+
"27": "Команда grep шукає текстові шаблони у файлах за допомогою регулярних виразів. Це один із найчастіше використовуваних інструментів Linux для обробки тексту.",
|
|
29
|
+
"28": "VPN (Virtual Private Network) створює зашифрований тунель для інтернет-трафіку, захищаючи дані від перехоплення та маскуючи IP-адресу користувача.",
|
|
30
|
+
"29": "CSRF (Cross-Site Request Forgery) обманом змушує браузер авторизованого користувача виконувати небажані дії на довіреному сайті, такі як зміна налаштувань облікового запису або переказ коштів.",
|
|
31
|
+
"30": "Паролі мають зберігатися як криптографічні хеші із сіллю. Відкритий текст та Base64 є небезпечними, а шифрування AES є оборотним у разі компрометації ключа. Хешування із сіллю є одностороннім та стійким до райдужних таблиць."
|
|
32
|
+
}
|
|
@@ -0,0 +1,332 @@
|
|
|
1
|
+
[
|
|
2
|
+
{
|
|
3
|
+
"number": 1,
|
|
4
|
+
"text": "Який алгоритм НЕ є симетричним шифром?",
|
|
5
|
+
"category": "Cryptography",
|
|
6
|
+
"options": {
|
|
7
|
+
"A": "AES",
|
|
8
|
+
"B": "RSA",
|
|
9
|
+
"C": "DES",
|
|
10
|
+
"D": "Blowfish"
|
|
11
|
+
}
|
|
12
|
+
},
|
|
13
|
+
{
|
|
14
|
+
"number": 2,
|
|
15
|
+
"text": "Що експлуатує SQL injection?",
|
|
16
|
+
"category": "Web Security",
|
|
17
|
+
"options": {
|
|
18
|
+
"A": "Переповнення буфера у вебсервері",
|
|
19
|
+
"B": "Неочищені введені користувачем дані в запитах до бази даних",
|
|
20
|
+
"C": "Слабкі алгоритми шифрування",
|
|
21
|
+
"D": "Неправильно налаштовані правила брандмауера"
|
|
22
|
+
}
|
|
23
|
+
},
|
|
24
|
+
{
|
|
25
|
+
"number": 3,
|
|
26
|
+
"text": "Який код стану HTTP вказує на \"Forbidden\"?",
|
|
27
|
+
"category": "Web Security",
|
|
28
|
+
"options": {
|
|
29
|
+
"A": "401",
|
|
30
|
+
"B": "404",
|
|
31
|
+
"C": "403",
|
|
32
|
+
"D": "500"
|
|
33
|
+
}
|
|
34
|
+
},
|
|
35
|
+
{
|
|
36
|
+
"number": 4,
|
|
37
|
+
"text": "Яке основне призначення nonce у криптографії?",
|
|
38
|
+
"category": "Cryptography",
|
|
39
|
+
"options": {
|
|
40
|
+
"A": "Шифрування даних у стані спокою",
|
|
41
|
+
"B": "Запобігання атакам повторного відтворення",
|
|
42
|
+
"C": "Генерація випадкових паролів",
|
|
43
|
+
"D": "Стиснення даних перед шифруванням"
|
|
44
|
+
}
|
|
45
|
+
},
|
|
46
|
+
{
|
|
47
|
+
"number": 5,
|
|
48
|
+
"text": "Який інструмент зазвичай використовується для перехоплення мережевих пакетів?",
|
|
49
|
+
"category": "Network",
|
|
50
|
+
"options": {
|
|
51
|
+
"A": "Burp Suite",
|
|
52
|
+
"B": "Ghidra",
|
|
53
|
+
"C": "Wireshark",
|
|
54
|
+
"D": "John the Ripper"
|
|
55
|
+
}
|
|
56
|
+
},
|
|
57
|
+
{
|
|
58
|
+
"number": 6,
|
|
59
|
+
"text": "Як розшифровується XSS у кібербезпеці?",
|
|
60
|
+
"category": "Web Security",
|
|
61
|
+
"options": {
|
|
62
|
+
"A": "Розширена система безпеки",
|
|
63
|
+
"B": "Міжсайтовий скриптинг (Cross-Site Scripting)",
|
|
64
|
+
"C": "Безпечний сокет XML",
|
|
65
|
+
"D": "Міжсерверний обмін"
|
|
66
|
+
}
|
|
67
|
+
},
|
|
68
|
+
{
|
|
69
|
+
"number": 7,
|
|
70
|
+
"text": "Яка основна функція брандмауера (firewall)?",
|
|
71
|
+
"category": "Network",
|
|
72
|
+
"options": {
|
|
73
|
+
"A": "Шифрувати мережеві дані",
|
|
74
|
+
"B": "Фільтрувати мережевий трафік на основі правил безпеки",
|
|
75
|
+
"C": "Виявляти віруси у файлах",
|
|
76
|
+
"D": "Прискорювати інтернет-з'єднання"
|
|
77
|
+
}
|
|
78
|
+
},
|
|
79
|
+
{
|
|
80
|
+
"number": 8,
|
|
81
|
+
"text": "Який тип шкідливого програмного забезпечення маскується під легітимне програмне забезпечення?",
|
|
82
|
+
"category": "Malware",
|
|
83
|
+
"options": {
|
|
84
|
+
"A": "Worm",
|
|
85
|
+
"B": "Ransomware",
|
|
86
|
+
"C": "Trojan",
|
|
87
|
+
"D": "Adware"
|
|
88
|
+
}
|
|
89
|
+
},
|
|
90
|
+
{
|
|
91
|
+
"number": 9,
|
|
92
|
+
"text": "Який протокол забезпечує безпечний зв'язок у вебі?",
|
|
93
|
+
"category": "Network",
|
|
94
|
+
"options": {
|
|
95
|
+
"A": "HTTP",
|
|
96
|
+
"B": "FTP",
|
|
97
|
+
"C": "HTTPS",
|
|
98
|
+
"D": "SMTP"
|
|
99
|
+
}
|
|
100
|
+
},
|
|
101
|
+
{
|
|
102
|
+
"number": 10,
|
|
103
|
+
"text": "Що таке криптографічний хеш?",
|
|
104
|
+
"category": "Cryptography",
|
|
105
|
+
"options": {
|
|
106
|
+
"A": "Оборотний ключ шифрування",
|
|
107
|
+
"B": "Одностороння функція, яка генерує дайджест фіксованого розміру",
|
|
108
|
+
"C": "Протокол автентифікації",
|
|
109
|
+
"D": "Тип цифрового підпису"
|
|
110
|
+
}
|
|
111
|
+
},
|
|
112
|
+
{
|
|
113
|
+
"number": 11,
|
|
114
|
+
"text": "Який інструмент використовується для бінарного аналізу?",
|
|
115
|
+
"category": "Reverse Engineering",
|
|
116
|
+
"options": {
|
|
117
|
+
"A": "Nmap",
|
|
118
|
+
"B": "SQLMap",
|
|
119
|
+
"C": "Ghidra",
|
|
120
|
+
"D": "Nikto"
|
|
121
|
+
}
|
|
122
|
+
},
|
|
123
|
+
{
|
|
124
|
+
"number": 12,
|
|
125
|
+
"text": "Яка атака маніпулює запитами DNS для перенаправлення трафіку?",
|
|
126
|
+
"category": "Network",
|
|
127
|
+
"options": {
|
|
128
|
+
"A": "Phishing",
|
|
129
|
+
"B": "DNS Spoofing",
|
|
130
|
+
"C": "SQL Injection",
|
|
131
|
+
"D": "Brute Force"
|
|
132
|
+
}
|
|
133
|
+
},
|
|
134
|
+
{
|
|
135
|
+
"number": 13,
|
|
136
|
+
"text": "Який стандартний порт для SSH?",
|
|
137
|
+
"category": "Network",
|
|
138
|
+
"options": {
|
|
139
|
+
"A": "21",
|
|
140
|
+
"B": "22",
|
|
141
|
+
"C": "80",
|
|
142
|
+
"D": "443"
|
|
143
|
+
}
|
|
144
|
+
},
|
|
145
|
+
{
|
|
146
|
+
"number": 14,
|
|
147
|
+
"text": "Що таке двофакторна автентифікація (2FA)?",
|
|
148
|
+
"category": "Authentication",
|
|
149
|
+
"options": {
|
|
150
|
+
"A": "Використання двох різних паролів",
|
|
151
|
+
"B": "Підтвердження особи за допомогою двох різних типів облікових даних",
|
|
152
|
+
"C": "Шифрування даних двічі",
|
|
153
|
+
"D": "Підключення через дві мережі"
|
|
154
|
+
}
|
|
155
|
+
},
|
|
156
|
+
{
|
|
157
|
+
"number": 15,
|
|
158
|
+
"text": "Яка команда Linux показує відкриті порти в системі?",
|
|
159
|
+
"category": "Linux",
|
|
160
|
+
"options": {
|
|
161
|
+
"A": "ls -la",
|
|
162
|
+
"B": "netstat -tulpn",
|
|
163
|
+
"C": "chmod 777",
|
|
164
|
+
"D": "cat /etc/passwd"
|
|
165
|
+
}
|
|
166
|
+
},
|
|
167
|
+
{
|
|
168
|
+
"number": 16,
|
|
169
|
+
"text": "Що таке атака Man-in-the-Middle (MitM)?",
|
|
170
|
+
"category": "Network",
|
|
171
|
+
"options": {
|
|
172
|
+
"A": "Отримання доступу до сервера без авторизації",
|
|
173
|
+
"B": "Підбір паролів методом brute force",
|
|
174
|
+
"C": "Надсилання великої кількості запитів для перевантаження сервера",
|
|
175
|
+
"D": "Перехоплення та модифікація комунікації між двома сторонами"
|
|
176
|
+
}
|
|
177
|
+
},
|
|
178
|
+
{
|
|
179
|
+
"number": 17,
|
|
180
|
+
"text": "Що з наведеного є алгоритмом хешування?",
|
|
181
|
+
"category": "Cryptography",
|
|
182
|
+
"options": {
|
|
183
|
+
"A": "AES-256",
|
|
184
|
+
"B": "Diffie-Hellman",
|
|
185
|
+
"C": "RSA-2048",
|
|
186
|
+
"D": "SHA-256"
|
|
187
|
+
}
|
|
188
|
+
},
|
|
189
|
+
{
|
|
190
|
+
"number": 18,
|
|
191
|
+
"text": "Що таке принцип найменших привілеїв?",
|
|
192
|
+
"category": "Security",
|
|
193
|
+
"options": {
|
|
194
|
+
"A": "Надати root-доступ усім користувачам",
|
|
195
|
+
"B": "Використовувати найкоротший можливий пароль",
|
|
196
|
+
"C": "Надавати лише ті дозволи, які необхідні для виконання завдання",
|
|
197
|
+
"D": "Вимкнути всі брандмауери"
|
|
198
|
+
}
|
|
199
|
+
},
|
|
200
|
+
{
|
|
201
|
+
"number": 19,
|
|
202
|
+
"text": "Який інструмент зазвичай використовується для сканування портів?",
|
|
203
|
+
"category": "Network",
|
|
204
|
+
"options": {
|
|
205
|
+
"A": "Wireshark",
|
|
206
|
+
"B": "Metasploit",
|
|
207
|
+
"C": "Nmap",
|
|
208
|
+
"D": "Hashcat"
|
|
209
|
+
}
|
|
210
|
+
},
|
|
211
|
+
{
|
|
212
|
+
"number": 20,
|
|
213
|
+
"text": "Що таке ransomware?",
|
|
214
|
+
"category": "Malware",
|
|
215
|
+
"options": {
|
|
216
|
+
"A": "Програмне забезпечення, яке показує небажану рекламу",
|
|
217
|
+
"B": "Програмне забезпечення, яке шифрує файли та вимагає оплату за розшифрування",
|
|
218
|
+
"C": "Програмне забезпечення, яке записує натискання клавіш",
|
|
219
|
+
"D": "Програмне забезпечення, яке розмножується в мережах"
|
|
220
|
+
}
|
|
221
|
+
},
|
|
222
|
+
{
|
|
223
|
+
"number": 21,
|
|
224
|
+
"text": "У чому різниця між симетричним та асиметричним шифруванням?",
|
|
225
|
+
"category": "Cryptography",
|
|
226
|
+
"options": {
|
|
227
|
+
"A": "Симетричне використовує один і той самий ключ для шифрування та розшифрування; асиметричне використовує два різні ключі",
|
|
228
|
+
"B": "Симетричне повільніше за асиметричне",
|
|
229
|
+
"C": "Асиметричне працює лише з невеликими файлами",
|
|
230
|
+
"D": "Суттєвої різниці немає"
|
|
231
|
+
}
|
|
232
|
+
},
|
|
233
|
+
{
|
|
234
|
+
"number": 22,
|
|
235
|
+
"text": "Яка вразливість дозволяє виконання довільного коду на вебсервері?",
|
|
236
|
+
"category": "Web Security",
|
|
237
|
+
"options": {
|
|
238
|
+
"A": "CSRF",
|
|
239
|
+
"B": "Open Redirect",
|
|
240
|
+
"C": "Clickjacking",
|
|
241
|
+
"D": "Remote Code Execution (RCE)"
|
|
242
|
+
}
|
|
243
|
+
},
|
|
244
|
+
{
|
|
245
|
+
"number": 23,
|
|
246
|
+
"text": "Що таке OWASP?",
|
|
247
|
+
"category": "Security",
|
|
248
|
+
"options": {
|
|
249
|
+
"A": "Операційна система безпеки",
|
|
250
|
+
"B": "Тип брандмауера",
|
|
251
|
+
"C": "Організація, яка публікує стандарти та посібники з веб-безпеки",
|
|
252
|
+
"D": "Мова програмування для безпеки"
|
|
253
|
+
}
|
|
254
|
+
},
|
|
255
|
+
{
|
|
256
|
+
"number": 24,
|
|
257
|
+
"text": "Яка команда Linux змінює дозволи для файлів?",
|
|
258
|
+
"category": "Linux",
|
|
259
|
+
"options": {
|
|
260
|
+
"A": "chown",
|
|
261
|
+
"B": "chmod",
|
|
262
|
+
"C": "chgrp",
|
|
263
|
+
"D": "passwd"
|
|
264
|
+
}
|
|
265
|
+
},
|
|
266
|
+
{
|
|
267
|
+
"number": 25,
|
|
268
|
+
"text": "Що таке сертифікат SSL/TLS?",
|
|
269
|
+
"category": "Cryptography",
|
|
270
|
+
"options": {
|
|
271
|
+
"A": "Цифровий документ, який підтверджує ідентичність вебсайту",
|
|
272
|
+
"B": "Файл, що містить шкідливе програмне забезпечення",
|
|
273
|
+
"C": "Приватний ключ для SSH",
|
|
274
|
+
"D": "Тип зашифрованої бази даних"
|
|
275
|
+
}
|
|
276
|
+
},
|
|
277
|
+
{
|
|
278
|
+
"number": 26,
|
|
279
|
+
"text": "Що з наведеного є атакою соціальної інженерії?",
|
|
280
|
+
"category": "Security",
|
|
281
|
+
"options": {
|
|
282
|
+
"A": "Переповнення буфера",
|
|
283
|
+
"B": "Фішинг",
|
|
284
|
+
"C": "SQL-ін'єкція",
|
|
285
|
+
"D": "Сканування портів"
|
|
286
|
+
}
|
|
287
|
+
},
|
|
288
|
+
{
|
|
289
|
+
"number": 27,
|
|
290
|
+
"text": "Що робить команда Linux \"grep\"?",
|
|
291
|
+
"category": "Linux",
|
|
292
|
+
"options": {
|
|
293
|
+
"A": "Стискає файли",
|
|
294
|
+
"B": "Налаштовує мережу",
|
|
295
|
+
"C": "Показує активні процеси",
|
|
296
|
+
"D": "Шукає текстові шаблони у файлах"
|
|
297
|
+
}
|
|
298
|
+
},
|
|
299
|
+
{
|
|
300
|
+
"number": 28,
|
|
301
|
+
"text": "Що таке VPN?",
|
|
302
|
+
"category": "Network",
|
|
303
|
+
"options": {
|
|
304
|
+
"A": "Тип вірусу",
|
|
305
|
+
"B": "Протокол передачі файлів",
|
|
306
|
+
"C": "Віртуальна приватна мережа, яка шифрує інтернет-трафік",
|
|
307
|
+
"D": "Сканер вразливостей"
|
|
308
|
+
}
|
|
309
|
+
},
|
|
310
|
+
{
|
|
311
|
+
"number": 29,
|
|
312
|
+
"text": "Що таке CSRF (Cross-Site Request Forgery)?",
|
|
313
|
+
"category": "Web Security",
|
|
314
|
+
"options": {
|
|
315
|
+
"A": "Атака, яка змушує браузер користувача виконувати несанкціоновані дії",
|
|
316
|
+
"B": "Метод шифрування даних",
|
|
317
|
+
"C": "Тип мережевого сканера",
|
|
318
|
+
"D": "Метод стиснення файлів"
|
|
319
|
+
}
|
|
320
|
+
},
|
|
321
|
+
{
|
|
322
|
+
"number": 30,
|
|
323
|
+
"text": "Яка найкраща практика зберігання паролів у базі даних?",
|
|
324
|
+
"category": "Security",
|
|
325
|
+
"options": {
|
|
326
|
+
"A": "Відкритий текст",
|
|
327
|
+
"B": "Хешовані із сіллю",
|
|
328
|
+
"C": "Зашифровані за допомогою AES",
|
|
329
|
+
"D": "Закодовані у Base64"
|
|
330
|
+
}
|
|
331
|
+
}
|
|
332
|
+
]
|