JustCaptain kod-buduschego

add task

JustCaptain · 2 недели назад 987c64ff6f1070f722e2f060dc226970e8af6216
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}.