ANTICHAT

ANTICHAT (https://forum.antichat.xyz/index.php)
-   Этичный хакинг или пентестинг (https://forum.antichat.xyz/forumdisplay.php?f=209)
-   -   [1] Давайте учиться SQL-инъекциям вместе! (https://forum.antichat.xyz/showthread.php?t=568820)

iBragimoff 18.08.2019 13:52

Привет! Сегодня решил воплотить идею в жизнь, которую вынашиваю уже давно. Суть идеи в том что многие изучают ИБ (Информационную безопасность) в одиночестве и прогорают через пару часов изучения из-за неудачных попыток и безрезультатного поиска информации. И сегодня, после очередного такого дня, я всё таки решился воплотить свою идею в жизнь. Нашёл сайт для оттачивания навыков этичного хакинга и выбрал уровни с SQL-инъекциями. Предлагаю всем желающим присоединиться ко мне и решать поставленные перед нами задачи вместе, чтобы было не скучно и плодотворно, ибо все будут обмениваться своими знаниями с другими участниками.

ВНИМАНИЕ: Если вы знаете решение задачи, то в ответ расписывайте подробно, так чтобы поняли все, иначе от вашего ответа не будет пользы. Скопировать и вставить могут все, а вот через некоторое время повторить тоже самое действие без чьей-либо подсказки сможет не каждый.

Основной сайт: Trainings – Main
Ссылка на задание: SQL injection challenge

https://forum.antichat.xyz/attachmen...3f4f195072.png

Не важная информация: Данная задачка мною решена, но благоразумнее, думаю, будет начать с начала.

Так-с. Перед нами стоит задача вытащить пароль пользователя с ID = 12.
Задачка очень легкая и требуется всего лишь знание основ SQL синтаксиса.

Ссылка для ознакомления с SQL синтаксисом

Подсказка: Нужно с помощью ключевого слова SELECT выбрать нужные нам поля через запятую,

указать из какой таблицы будем брать поля ключевым словом FROM и самое главное, не забудьте поставить точку с запятой в конце.


Цитата:


Я новичок в этом деле и если говорю что-то не так исправляйте в комментариях, всегда буду рад исправиться!



iBragimoff 18.08.2019 13:54

Свои ответы, предположения пишите в комментарии, будем обдумывать их все вместе!
Новую задачку залью уже через 1-2 часа, ибо эта легкая и на её решение хватит и 5 минут

mrOkey 18.08.2019 14:34

точка с запятой там не важна, если чё

iBragimoff 18.08.2019 14:37

Цитата:


mrOkey сказал(а):

точка с запятой там не важна, если чё


Точно! А почему? В основах синтаксиса SQL языка говорится просто, что точка с запятой должна быть в конце.

mrOkey 18.08.2019 15:00

Цитата:


iBragimoff сказал(а):

Точно! А почему? В основах синтаксиса SQL языка говорится просто, что точка с запятой должна быть в конце.


потмоу что ; исполузуется для разделения команд. Если бы написали так:

Код:


Код:

Select * from users Select * from secret
то нам нужна была бы ; после каждой команды. Тут же у нас только один запрос => точка с запятой не обязательна

iBragimoff 18.08.2019 15:17

Цитата:


mrOkey сказал(а):

потмоу что ; исполузуется для разделения команд. Если бы написали так:

Код:


Код:

Select * from users Select * from secret
то нам нужна была бы ; после каждой команды. Тут же у нас только один запрос => точка с запятой не обязательна


Понял, спасибо.

explorer 18.08.2019 17:23

Цитата:


iBragimoff сказал(а):

Подсказка: Нужно с помощью ключевого слова SELECT выбрать нужные нам поля через запятую,

указать из какой таблицы будем брать поля ключевым словом FROM и самое главное, не забудьте поставить точку с запятой в конце.


Всё неправильно - ни точка с запятой не нужна как выше сказали, ни поля через запятую.
В задаче нужно получитьпароль пользователя с id=12значит всё остальное будет лишним. Правильное решение очень короткое:
select pass from users where id =12

Выбери столбец pass для таблицы users где id =12

iBragimoff 18.08.2019 17:25

Цитата:


explorer сказал(а):

Всё неправильно - ни точка с запятой не нужна как выше сказали, ни поля через запятую.
В задаче нужно получитьпароль пользователя с id=12значит всё остальное будет лишним. Правильное решение очень короткое:
select pass from users where id =12

Выбери столбец pass для таблицы users где id =12


Моё решение было таким: SELECT id,pass FROM users; Отсюда и подсказка

explorer 18.08.2019 17:30

Цитата:


iBragimoff сказал(а):

Моё решение было таким: SELECT id,pass FROM users; Отсюда и подсказка


А если в задаче будет id 500, и в базе 1000 id, будешь в списке ковыряться, выискивая нужную строку? Всегда используй условие, когда нужно вывести что-то конкретное )

iBragimoff 18.08.2019 17:31

Цитата:


explorer сказал(а):

А если в задаче будет id 500, и в базе 1000 id, будешь в списке ковыряться, выискивая нужную строку? Всегда используй условие, когда нужно вывести что-то конкретное )

Я уже осознал свою ошибку, благодарю)


Время: 13:57