Добрый день! Есть вопрос новичка по задаче "Базовая авторизация" на Codeby.Games (я про вот эту говорю:
Я ее решил, но есть вопрос, который мне не ясен. Подробностей я указывать не буду, чтобы заранее не раскрывать решение для желающих решить таск самостоятельно.
В подсказках к задаче нам дают логин "admin" и тип СУБД "SQLite". Зная это, я решил эту задачку брутфорсом пароля по словарю. Подобралась удачная пара admin:<простой_типовой_подобранный_пароль>. Флаг я получил, НО!
Как бы такое решение задачи меня не устроило - а если логин неизвестен? Или пароль очень длинный и сложный - устанешь ждать результаты брута. Или вообще защита от брута есть и т.д.
По-этому я решил пойти путем посложнее, а именно испытать себя в SQL инъекциях. Нагуглил одну статейку по инъекциям в SQLite и начал пробовать.
Наперед скажу, что и этим путем (через инъекции) я задачку решил, но есть вопрос.
ВОПРОС: А как так получается, что брутом у меня нашлась пара admin:<простой_типовой_подобранный_пароль>, а через SQL-Injections нашлась пара admin:<сложный_бессмысленый_набор_символов_пароля> и обе эти пары успешно логинятся и выдают флаг к решению задачи?
Как у одного пользователя (admin) два разных рабочих пароля? Второй пароль <сложный_бессмысленый_набор_символов_пароля> это что - хэш первого? А почему тогда он в форме авторизации в чистом виде прокатывает?
Зы. С наступающим!
Ссылка скрыта от гостей
) .Я ее решил, но есть вопрос, который мне не ясен. Подробностей я указывать не буду, чтобы заранее не раскрывать решение для желающих решить таск самостоятельно.
В подсказках к задаче нам дают логин "admin" и тип СУБД "SQLite". Зная это, я решил эту задачку брутфорсом пароля по словарю. Подобралась удачная пара admin:<простой_типовой_подобранный_пароль>. Флаг я получил, НО!
Как бы такое решение задачи меня не устроило - а если логин неизвестен? Или пароль очень длинный и сложный - устанешь ждать результаты брута. Или вообще защита от брута есть и т.д.
По-этому я решил пойти путем посложнее, а именно испытать себя в SQL инъекциях. Нагуглил одну статейку по инъекциям в SQLite и начал пробовать.
Наперед скажу, что и этим путем (через инъекции) я задачку решил, но есть вопрос.
ВОПРОС: А как так получается, что брутом у меня нашлась пара admin:<простой_типовой_подобранный_пароль>, а через SQL-Injections нашлась пара admin:<сложный_бессмысленый_набор_символов_пароля> и обе эти пары успешно логинятся и выдают флаг к решению задачи?
Как у одного пользователя (admin) два разных рабочих пароля? Второй пароль <сложный_бессмысленый_набор_символов_пароля> это что - хэш первого? А почему тогда он в форме авторизации в чистом виде прокатывает?
Зы. С наступающим!