1. Задача 2Разбор задачи:
Обнаруживаем ошибку SQL при добавлении в логин или пароль одинарной кавычки. Перед нами Errorbased SQL инъекция. Нагуглив готовые пэйлоады
https://github.com/swisskyrepo/PayloadsAllTheThings/blob/master/SQL%20Injection/PostgreSQL%20Injection.md#postgresqlerror-based, находим нужный шаблон ' and 1=cast((SELECT data_column FROM data_table LIMIT 1 OFFSET data_offset) as int) and '1'='1 и с его помощью перебираем данные в таблице users, обнаруживаем по оффсету 2 флаг: ' and 1=cast((SELECT concat(id, ':', login, ':', password) FROM users LIMIT 1 OFFSET 2) as int) and '1'='1
2. Задача 3Разбор задачи:
Проблема в том, что в "==" сравнении "0e" означает, что если следующие символы являются цифрами,
то вся строка обрабатывается как float. Получается, что эти магические числа хэшей рассматриваются
как число «0» и сравниваются с другими хэшами, сравнение будет оцениваться как истинное. Нужно
либо набрутить такую строку вида "0е.....", которая при хешировании будет давать результат "0е", либо
воспользоваться радужной таблицей. Примеры подходящих значений: MD5(0e1137126905) =
0e291659922323405260514745084877
MD5(0e215962017) = 0e29124247694077684515030857782
3. Задача 4Ответ: bdbbbbbdbddddbdddbdbbbbddbbbdddddbbbРазбор задачи:
Скачать файл main.rsВ задании нужно было пройти лабиринт, управляя движением с помощью символов a, b, c, d (вверх, вниз, влево, вправо)
4. Задача 5Ответ: flag{c153a352305df7efa25afd9bbcf5a3787daec71ad0862b2cff08968a191db297}Разбор задачи:
Проблема в том, что в "==" сравнении "0e" означает, что если следующие символы являются цифрами, то вся строка обрабатывается как float. Получается, что эти магические числа хэшей рассматриваются как число «0» и сравниваются с другими хэшами, сравнение будет оцениваться как истинное. Нужно либо набрутить такую строку вида "0е.....", которая при хешировании будет давать результат "0е", либо воспользоваться радужной таблицей. Примеры подходящих значений: MD5(0e1137126905) = 0e291659922323405260514745084877, MD5(0e215962017) = 0e29124247694077684515030857782
5. Задача 6Ответ: flag{17991d6e638b6b8f83190bf25f27eee1}Разбор задачи:
Обнаруживаем ошибку SQL при добавлении в логин или пароль одинарной кавычки. Перед нами Errorbased SQL инъекция. Нагуглив готовые пэйлоады
https://github.com/swisskyrepo/PayloadsAllTheThings/blob/master/SQL%20Injection/PostgreSQL%20Injection.md#postgresqlerror-based, находим нужный шаблон ' and 1=cast((SELECT data_column FROM data_table LIMIT 1 OFFSET data_offset) as int) and '1'='1 и с его помощью перебираем данные в таблице users, обнаруживаем по оффсету 2 флаг: ' and 1=cast((SELECT concat(id, ':', login, ':', password) FROM users LIMIT 1 OFFSET 2) as int) and '1'='1