 |
|

18.08.2019, 13:52
|
|
Познающий
Регистрация: 17.08.2019
Сообщений: 83
С нами:
3548433
Репутация:
0
|
|
Привет! Сегодня решил воплотить идею в жизнь, которую вынашиваю уже давно. Суть идеи в том что многие изучают ИБ (Информационную безопасность) в одиночестве и прогорают через пару часов изучения из-за неудачных попыток и безрезультатного поиска информации. И сегодня, после очередного такого дня, я всё таки решился воплотить свою идею в жизнь. Нашёл сайт для оттачивания навыков этичного хакинга и выбрал уровни с SQL-инъекциями. Предлагаю всем желающим присоединиться ко мне и решать поставленные перед нами задачи вместе, чтобы было не скучно и плодотворно, ибо все будут обмениваться своими знаниями с другими участниками.
ВНИМАНИЕ: Если вы знаете решение задачи, то в ответ расписывайте подробно, так чтобы поняли все, иначе от вашего ответа не будет пользы. Скопировать и вставить могут все, а вот через некоторое время повторить тоже самое действие без чьей-либо подсказки сможет не каждый.
Основной сайт: Trainings – Main
Ссылка на задание: SQL injection challenge
Не важная информация: Данная задачка мною решена, но благоразумнее, думаю, будет начать с начала.
Так-с. Перед нами стоит задача вытащить пароль пользователя с ID = 12.
Задачка очень легкая и требуется всего лишь знание основ SQL синтаксиса.
Ссылка для ознакомления с SQL синтаксисом
Подсказка: Нужно с помощью ключевого слова SELECT выбрать нужные нам поля через запятую,
указать из какой таблицы будем брать поля ключевым словом FROM и самое главное, не забудьте поставить точку с запятой в конце.
Я новичок в этом деле и если говорю что-то не так исправляйте в комментариях, всегда буду рад исправиться!
|
|
|

18.08.2019, 13:54
|
|
Познающий
Регистрация: 17.08.2019
Сообщений: 83
С нами:
3548433
Репутация:
0
|
|
Свои ответы, предположения пишите в комментарии, будем обдумывать их все вместе!
Новую задачку залью уже через 1-2 часа, ибо эта легкая и на её решение хватит и 5 минут
|
|
|

18.08.2019, 14:34
|
|
Новичок
Регистрация: 14.11.2017
Сообщений: 0
С нами:
4471577
Репутация:
0
|
|
точка с запятой там не важна, если чё
|
|
|

18.08.2019, 14:37
|
|
Познающий
Регистрация: 17.08.2019
Сообщений: 83
С нами:
3548433
Репутация:
0
|
|
mrOkey сказал(а):
точка с запятой там не важна, если чё
Точно! А почему? В основах синтаксиса SQL языка говорится просто, что точка с запятой должна быть в конце.
|
|
|

18.08.2019, 15:00
|
|
Новичок
Регистрация: 14.11.2017
Сообщений: 0
С нами:
4471577
Репутация:
0
|
|
iBragimoff сказал(а):
Точно! А почему? В основах синтаксиса SQL языка говорится просто, что точка с запятой должна быть в конце.
потмоу что ; исполузуется для разделения команд. Если бы написали так:
Код:
Код:
Select * from users Select * from secret
то нам нужна была бы ; после каждой команды. Тут же у нас только один запрос => точка с запятой не обязательна
|
|
|

18.08.2019, 15:17
|
|
Познающий
Регистрация: 17.08.2019
Сообщений: 83
С нами:
3548433
Репутация:
0
|
|
mrOkey сказал(а):
потмоу что ; исполузуется для разделения команд. Если бы написали так:
Код:
Код:
Select * from users Select * from secret
то нам нужна была бы ; после каждой команды. Тут же у нас только один запрос => точка с запятой не обязательна
Понял, спасибо.
|
|
|

18.08.2019, 17:23
|
|
Новичок
Регистрация: 05.08.2018
Сообщений: 0
С нами:
4091032
Репутация:
0
|
|
iBragimoff сказал(а):
Подсказка: Нужно с помощью ключевого слова SELECT выбрать нужные нам поля через запятую,
указать из какой таблицы будем брать поля ключевым словом FROM и самое главное, не забудьте поставить точку с запятой в конце.
Всё неправильно - ни точка с запятой не нужна как выше сказали, ни поля через запятую.
В задаче нужно получитьпароль пользователя с id=12значит всё остальное будет лишним. Правильное решение очень короткое:
select pass from users where id =12
Выбери столбец pass для таблицы users где id =12
|
|
|

18.08.2019, 17:25
|
|
Познающий
Регистрация: 17.08.2019
Сообщений: 83
С нами:
3548433
Репутация:
0
|
|
explorer сказал(а):
Всё неправильно - ни точка с запятой не нужна как выше сказали, ни поля через запятую.
В задаче нужно получитьпароль пользователя с id=12значит всё остальное будет лишним. Правильное решение очень короткое:
select pass from users where id =12
Выбери столбец pass для таблицы users где id =12
Моё решение было таким: SELECT id,pass FROM users; Отсюда и подсказка
|
|
|

18.08.2019, 17:30
|
|
Новичок
Регистрация: 05.08.2018
Сообщений: 0
С нами:
4091032
Репутация:
0
|
|
iBragimoff сказал(а):
Моё решение было таким: SELECT id,pass FROM users; Отсюда и подсказка
А если в задаче будет id 500, и в базе 1000 id, будешь в списке ковыряться, выискивая нужную строку? Всегда используй условие, когда нужно вывести что-то конкретное )
|
|
|

18.08.2019, 17:31
|
|
Познающий
Регистрация: 17.08.2019
Сообщений: 83
С нами:
3548433
Репутация:
0
|
|
explorer сказал(а):
А если в задаче будет id 500, и в базе 1000 id, будешь в списке ковыряться, выискивая нужную строку? Всегда используй условие, когда нужно вывести что-то конкретное )
Я уже осознал свою ошибку, благодарю)
|
|
|
|
 |
|
Предыдущая тема
Следующая тема
|
Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
|
|
|
|