ANTICHAT

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

iBragimoff 21.08.2019 22:20

Предыдущая статья - ссылочка
Следующая статья: [6] Давайте учиться SQL-инъекциям вместе!
Ссылка на задание: SQL injection challenge

Ооо даа. Я решил 5й таск, отдельное спасибо моему сэнсэю explorer`y

https://forum.antichat.xyz/attachmen...ac952d31e4.png

Я начал копать в сторону команды union, так как особого представления о его работе не имел
И на первом же сайте нашёл решение моей проблемы - Команда UNION - слияние таблиц | Трепачёв Дмитрий
Проблема заключалась в том что оператор union объединяет столбцы первой и второй таблицы.
А из задания мы знаем, что в таблице users 3 столбца id, login, pass, а вот в таблице secret уже 2 столбца или поля - одно и тоже.
И вот из-за этого возникала наша ошибка. Все, наверное, уже догадались, чтобы решить проблему нужно в таблице secret заполнить 3й столбец.
Если вы уже почитали описание оператора union по ссылке которую, я вам дал, то уже наверняка знаете, что мы сейчас будем делать.

https://forum.antichat.xyz/attachmen...fd61279ae1.png

Следуя подсказке составляем наш запрос...

https://forum.antichat.xyz/attachmen...730f962a47.png

И получаем корректный вывод таблицы, теперь только остаётся вставить имена столбцов из таблицы secret, как их узнать разобрал в прошлой статье.

https://forum.antichat.xyz/attachmen...2b4d4fb29e.png

Пароль стёр, чтобы не спойлерить

Запрос составлен, задание пройдено, но меня не оставляет спокойно спать один вопрос.

Есть вот такой запрос: ' union SELECT id,login,pass, 0 FROM table_name -- -

Ноль подставляется автоматически в 4й столбец?

Цитата:


Какое-же всё таки блаженство, когда у тебя что-то получается. Не останавливайтесь перед трудностями и топите вперёд за знаниями!



iBragimoff 21.08.2019 22:25

Забыл упомянуть, что нашёл хороший курс по SQL, который советую смотреть параллельно решению тасков, ибо бывают моменты, когда ты не понимаешь откуда что берётся в такие моменты и надо погружаться глубже за пониманием происходящего.

explorer 21.08.2019 22:58

Рад, что ты сдвинулся с места и начал разбираться. Но ..... Всё гораздо проще )

iBragimoff 21.08.2019 23:00

Цитата:


explorer сказал(а):

Рад, что ты сдвинулся с места и начал разбираться. Но ..... Всё гораздо проще )

Охх. И вправду, всё гениальное просто

InetTester 23.08.2019 00:29

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

explorer 23.08.2019 09:54

Цитата:


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'#

InetTester 23.08.2019 10:21

Цитата:


explorer сказал(а):

Пусть способ не за 1 приём, а за два, но тоже рабочий, только поправлю:
1. Это не инфа о таблице, в задании уже дано название таблицы secret, так мы вытаскиваем название колонок. Но так как название таблицы известно, но нужно ставить условие, и тогда не будет выводиться ненужная куча строк.

1' union select 1, 2, column_name from information_schema.columnswhere table_name='secret'#

Я не знаю что меня так накрыло поздно ночью но мне казалось что моя миссия это найти имена колонок.... только это меня и с подвигло идти искать их имена...))

iBragimoff 23.08.2019 10:53

Цитата:


InetTester сказал(а):

Я не знаю что меня так накрыло поздно ночью но мне казалось что моя миссия это найти имена колонок.... только это меня и с подвигло идти искать их имена...))


Изначально, я тоже охотился за именами колонок, думал что только узнав имена колонок смогу вывести содержимое, оказалось, что можно было просто воспользоваться *


Время: 05:29