add task
Родитель:
165ce66
· сравнить с родителем
5 файлов
-
Показать разницуСкрыть разницу
1 +Во время анализа журналов веб-приложения и сервера специалист обнаружил фрагменты запросов и события, характерные для разных видов атак. 2 +Установите соотвествие между фрагментами или событиями и их описаниями. 3 + 4 +## Фрагмент 5 + 6 +```text 7 +id=1 OR j=1 8 +``` 9 + 10 +## Описание 11 + 12 +```text 13 +Попытка получить резервную копию сайта из общедоступного католога 14 +(Exposed Backup) 15 +``` 16 + 17 +## Фрагмент 18 + 19 +```text 20 +../../etc/passwd 21 +``` 22 + 23 +## Описание 24 + 25 +```text 26 +Добавление команды операционной системы в значения параметра, которые 27 +обрабатывает сервер (Command Injection) 28 +``` 29 + 30 +## Фрагмент 31 + 32 +```text 33 +127.0.0.1; whoami 34 +``` 35 + 36 +## Описание 37 + 38 +```text 39 +Последовательный подбор пароля с помощью многочисленных попыток авторизации (Brute Force) 40 +``` 41 + 42 +## Фрагмент 43 + 44 +```text 45 +GET /backup/site.zip -> 200 OK 46 +``` 47 + 48 +## Описание 49 + 50 +```text 51 +Изменение логики SQL-запроса с помощью добавленного условия (SQL Injection) 52 +``` 53 + 54 +## Фрагмент 55 + 56 +```text 57 +Много неудачных попыток входа с одного адреса за короткое время 58 +``` 59 + 60 +## Описание 61 + 62 +```text 63 +Попытка выйти за пределы разрешённого каталога с помощью переходов к родительским каталогам (Path Traversal) 64 +``` -
Двоичный файл — показывать нечего.
-
Показать разницуСкрыть разницу
1 +#include <iostream> 2 +#include <string> 3 +#include <array> 4 +#include <cstdint> 5 + 6 +using namespace std; 7 + 8 +static uint8_t step(uint8_t x, uint8_t k) { 9 + x ^= k; 10 + x = static_cast<uint8_t>(x + 0x19); 11 + return static_cast<uint8_t>((x >> 2) | (x << 6)); 12 +} 13 + 14 +static bool verify(const string& s) { 15 + const array<uint8_t, 20> table = { 16 + 0x21, 0x8D, 0x0B, 0x98, 0x27, 0x6E, 0x0B, 0x62, 0x01, 0x28, 0x9F, 0x44, 0xC4, 0xBE, 0x36, 0xF7, 0x44, 0xA1, 0xA7, 0xB9 17 + }; 18 + 19 + const array<uint8_t, 20> keys = { 20 + 0x41, 0x13, 0x77, 0x22, 0x58, 0x05, 0x31, 0x66, 0x14, 0x27, 0x53, 0x09, 0x6A, 0x18, 0x44, 0x72, 0x2B, 0x35, 0x5E, 0x11 21 + }; 22 + 23 + if (s.size() != table.size()) { 24 + return false; 25 + } 26 + 27 + uint8_t state = 0x5C; 28 + 29 + for (size_t i = 0; i < s.size(); ++i) { 30 + uint8_t x = static_cast<uint8_t>(s[i]); 31 + 32 + x ^= state; 33 + x = step(x, keys[i]); 34 + 35 + if (x != table[i]) { 36 + return false; 37 + } 38 + 39 + state = static_cast<uint8_t>( 40 + state + x + static_cast<uint8_t>(i) 41 + ); 42 + } 43 + 44 + return state == 0x6D; 45 +} 46 + 47 +int main() { 48 + string code; 49 + 50 + cout << "Enter access code: "; 51 + cin >> code; 52 + 53 + if (verify(code)) { 54 + cout << "Access granted\n"; 55 + } else { 56 + cout << "Access denied\n"; 57 + } 58 + 59 + return 0; 60 +} \ No newline at end of file -
Показать разницуСкрыть разницу
1 +# Зелёный банк 2 + 3 +Файл 2_1011_01-linux, 2_1011_01-windows.exe 4 +Один зелёный банк попросил нас протестировать его веб-клиент на безопасность, но все наши безопасники разом ушли в отпуск. Можете, вы попробовать ? 5 +Войдите в личный кабинет пользователя useruser и получите данные данные его бансковских счетов. 6 + 7 +Формат ответа: vsosh{text}. -
Показать разницуСкрыть разницу
1 +# Последний переключатель 2 + 3 +Файл 2_1011_09_code.cpp 4 +В лаболатории обнаружил программу управления электронным заком. Программа запрашивает код и если код правильный, появляется сообщение об успехе. Однако код был утерян. 5 +Необходимо исследовать исходный код программы и востановить правильный код. 6 +Формат ответа: vsosh{text}.