Привет! Рады видеть тебя на странице Мир Plat.Form!
Реши наибольшее количество заданий, чтобы забрать один из трех билетов на IT-конференцию Dump!
Ответы принимаются до 15.04, правильное решение задач опубликуем 16.04, а победителей можете смотреть уже 18.04.
Обрати внимание: ответы можно отправлять в любом порядке и количестве. Давай проверим, как ты справишься.
1.
Даниил Мошков
2.
Михаил Романенко
3.
Данил Казаков
Победители
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
Спасибо за участие!
А вот и правильные ответы
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{c153a352305df7efa25afd9bbcf5a3787daec71ad0862b2c
ff08968
a191db297}
Разбор задачи:
Проблема в том, что в "==" сравнении "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
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{c153a352305df7efa25afd9bbcf5a3787daec71ad0862b2c
ff08968
a191db297}
Разбор задачи:
Проблема в том, что в "==" сравнении "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
1. Задача 2
Разбор задачи:
Обнаруживаем ошибку SQL при добавлении в логин или пароль одинарной кавычки. Перед нами Errorbased SQL инъекция. Нагуглив готовые пэйлоады
https://github.com/swisskyrepo/Payloads
AllTheThings/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
Ответ: bdbbbbbdbddddbdddbdbbbbddb
bbdddddbbb
Разбор задачи:
Скачать файл main.rs
В задании нужно было пройти лабиринт, управляя движением с помощью символов a, b, c, d (вверх, вниз, влево, вправо)


4. Задача 5
Ответ: flag{c153a352305df7efa25afd9bb
cf5a3787daec71ad0862b2cff08968a191d
b297}
Разбор задачи:
Проблема в том, что в "==" сравнении "0e" означает, что если следующие символы являются цифрами, то вся строка обрабатывается как float. Получается, что эти магические числа хэшей рассматриваются как число «0» и сравниваются с другими хэшами, сравнение будет оцениваться как истинное. Нужно либо набрутить такую строку вида "0е.....", которая при хешировании будет давать результат "0е", либо воспользоваться радужной таблицей. Примеры подходящих значений: MD5(0e1137126905) = 0e291659922323405260514745084877, MD5(0e215962017) = 0e29124247694077684515030857782


5. Задача 6
Ответ: flag{17991d6e638b6b8f83190bf25
f27eee1}
Разбор задачи:
Обнаруживаем ошибку SQL при добавлении в логин или пароль одинарной кавычки. Перед нами Errorbased SQL инъекция. Нагуглив готовые пэйлоады https://github.com/
swisskyrepo/PayloadsAllTheThings/blob/
master/SQL%20Injection/PostgreSQL%20I
njection.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