 |

21.08.2019, 22:20
|
|
Познающий
Регистрация: 17.08.2019
Сообщений: 83
С нами:
3548433
Репутация:
0
|
|
Предыдущая статья - ссылочка
Следующая статья: [6] Давайте учиться SQL-инъекциям вместе!
Ссылка на задание: SQL injection challenge
Ооо даа. Я решил 5й таск, отдельное спасибо моему сэнсэю explorer`y
Я начал копать в сторону команды union, так как особого представления о его работе не имел
И на первом же сайте нашёл решение моей проблемы - Команда UNION - слияние таблиц | Трепачёв Дмитрий
Проблема заключалась в том что оператор union объединяет столбцы первой и второй таблицы.
А из задания мы знаем, что в таблице users 3 столбца id, login, pass, а вот в таблице secret уже 2 столбца или поля - одно и тоже.
И вот из-за этого возникала наша ошибка. Все, наверное, уже догадались, чтобы решить проблему нужно в таблице secret заполнить 3й столбец.
Если вы уже почитали описание оператора union по ссылке которую, я вам дал, то уже наверняка знаете, что мы сейчас будем делать.
Следуя подсказке составляем наш запрос...
И получаем корректный вывод таблицы, теперь только остаётся вставить имена столбцов из таблицы secret, как их узнать разобрал в прошлой статье.
Пароль стёр, чтобы не спойлерить
Запрос составлен, задание пройдено, но меня не оставляет спокойно спать один вопрос.
Есть вот такой запрос: ' union SELECT id,login,pass, 0 FROM table_name -- -
Ноль подставляется автоматически в 4й столбец?
Какое-же всё таки блаженство, когда у тебя что-то получается. Не останавливайтесь перед трудностями и топите вперёд за знаниями!
|
|
|

21.08.2019, 22:25
|
|
Познающий
Регистрация: 17.08.2019
Сообщений: 83
С нами:
3548433
Репутация:
0
|
|
Забыл упомянуть, что нашёл хороший курс по SQL, который советую смотреть параллельно решению тасков, ибо бывают моменты, когда ты не понимаешь откуда что берётся в такие моменты и надо погружаться глубже за пониманием происходящего.
|
|
|

21.08.2019, 22:58
|
|
Новичок
Регистрация: 05.08.2018
Сообщений: 0
С нами:
4091032
Репутация:
0
|
|
Рад, что ты сдвинулся с места и начал разбираться. Но ..... Всё гораздо проще )
|
|
|

21.08.2019, 23:00
|
|
Познающий
Регистрация: 17.08.2019
Сообщений: 83
С нами:
3548433
Репутация:
0
|
|
explorer сказал(а):
Рад, что ты сдвинулся с места и начал разбираться. Но ..... Всё гораздо проще )
Охх. И вправду, всё гениальное просто
|
|
|

23.08.2019, 00:29
|
|
Новичок
Регистрация: 21.10.2018
Сообщений: 0
С нами:
3979841
Репутация:
0
|
|
Как я прошел возможно далеко и не оптимально
1. Инфа о таблице: 1' union select 1, table_name, column_name from information_schema.columns#
2. Выборка по полученным именам колонок из предыдущего запроса: 1' union select dfgfddfgdfdfdf, dfgdfgfdg, 1 from secret#
|
|
|

23.08.2019, 09:54
|
|
Новичок
Регистрация: 05.08.2018
Сообщений: 0
С нами:
4091032
Репутация:
0
|
|
InetTester сказал(а):
Как я прошел возможно далеко и не оптимально
1. Инфа о таблице: 1' union select 1, table_name, column_name from information_schema.columns#
2. Выборка по полученным именам колонок из предыдущего запроса: 1' union select dfgfddfgdfdfdf, dfgdfgfdg, 1 from secret#
Пусть способ не за 1 приём, а за два, но тоже рабочий, только поправлю:
1. Это не инфа о таблице, в задании уже дано название таблицы secret, так мы вытаскиваем название колонок. Но так как название таблицы известно, но нужно ставить условие, и тогда не будет выводиться ненужная куча строк.
1' union select 1, 2, column_name from information_schema.columnswhere table_name='secret'#
|
|
|

23.08.2019, 10:21
|
|
Новичок
Регистрация: 21.10.2018
Сообщений: 0
С нами:
3979841
Репутация:
0
|
|
explorer сказал(а):
Пусть способ не за 1 приём, а за два, но тоже рабочий, только поправлю:
1. Это не инфа о таблице, в задании уже дано название таблицы secret, так мы вытаскиваем название колонок. Но так как название таблицы известно, но нужно ставить условие, и тогда не будет выводиться ненужная куча строк.
1' union select 1, 2, column_name from information_schema.columnswhere table_name='secret'#
Я не знаю что меня так накрыло поздно ночью но мне казалось что моя миссия это найти имена колонок.... только это меня и с подвигло идти искать их имена...))
|
|
|

23.08.2019, 10:53
|
|
Познающий
Регистрация: 17.08.2019
Сообщений: 83
С нами:
3548433
Репутация:
0
|
|
InetTester сказал(а):
Я не знаю что меня так накрыло поздно ночью но мне казалось что моя миссия это найти имена колонок.... только это меня и с подвигло идти искать их имена...))
Изначально, я тоже охотился за именами колонок, думал что только узнав имена колонок смогу вывести содержимое, оказалось, что можно было просто воспользоваться *
|
|
|
|
 |
Предыдущая тема
Следующая тема
|
Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
|
|
|
|