ANTICHAT

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

iBragimoff 20.08.2019 22:15

Предыдущая статья - ссылочка
Ссылка на задание: SQL injection challenge

Сегодня разберём вместе 4 и 5 задание.
С 5 заданием мне понадобиться помощь знающих.

Задание 4:

https://forum.antichat.xyz/attachmen...69b69dc53b.png

Сказать честно, строку : «данные из таблицы secret с полем ggg='abc'» , вообще не понял,
но понятно, что нужно достать поля из таблицы secret, думаю что этого хватит.
Задание разбирать не стану, ибо если решили предыдущие, то с этим вопросов не возникнет.
В крайнем случае, всегда готов вместе с вами разобрать задание в комментариях!

Задание 5:

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

Ссылка на задание: SQL injection challenge

Тут и начинается весь сыр бор, по крайней мере для меня.
Вроде задание идентично предыдущим, пробуем изменить запрос, как обычно.

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

Но, что-то пошло не так судя по ошибке:
Оригинал: The used SELECT statements have a different number of columns
Перевод: Используемые операторы SELECT имеют разное количество столбцов

Вспомнил про статью explorer`a, которую вчера читал, там как раз таки была показана данная ошибка.
Цитата:


explorer сказал(а):

пишет что количество колонок не совпадает. Мы знаем чтоДО UNION и ПОСЛЕ, их количество должно быть равным.


Следуя примерам из статьи узнаю название колонок и пытаюсь вывести их содержимое.

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

Название колонок стёр дабы не спойлерить

Продолжаю поиски решения данной проблемы. Буду благодарен за помощь в комментариях.
И да, кто-нибудь знает курсы,видео по MySQL on Linux bash only?

Цитата:


Даже как-то стыдно выкладывать на всеобщее обозрение свои элементарные ошибки, сразу кажешься ущербным самому себе, но уверен, что будет правильным это перебороть.



explorer 20.08.2019 22:24

Цитата:


iBragimoff сказал(а):

Сказать честно, строку : «данные из таблицы secret с полем ggg='abc'» , вообще не понял


Здесь элементарно, читай так же как к примеру id=1. То есть есть колонка ggg и в ней есть значение abc.
Для тех, кто совсем запутался и не смог решить

iBragimoff 20.08.2019 22:26

Цитата:


explorer сказал(а):

Здесь элементарно, читай так же как к примеру id=1. То есть есть колонка ggg и в ней есть значение abc.
Для тех, кто совсем запутался и не смог решить

Блин. Совсем туго у меня с этой архитектурой SQL. Иногда вообще начинаю путать таблицы с колонками.

explorer 20.08.2019 22:34

Цитата:


iBragimoff сказал(а):

Тут и начинается весь сыр бор, по крайней мере для меня.


Здесь не нужно было даже пытаться искать количество колонок, потому что в задании уже написано : В таблице secret два поля

Цитата:


iBragimoff сказал(а):

Блин. Совсем туго у меня с этой архитектурой SQL. Иногда вообще начинаю путать таблицы с колонками.


И внесу ясность - в разных источниках названия даются по разномуполе/колонка/столбец это всё одно и тоже.

iBragimoff 20.08.2019 22:50

Цитата:


explorer сказал(а):

Здесь не нужно было даже пытаться искать количество колонок, потому что в задании уже написано : В таблице sectet два поля

Таки да. В подсказке говорится о 2 колонках, но при переборе командой GROUP BY ошибка не выходит, только на 3х колонках.
И при выводе 3х колонок запросом: ' union SELECT 1,2,3 FROM secret #, выводится такая билеберда.

https://forum.antichat.xyz/attachmen...601848721b.png

explorer 20.08.2019 23:09

Цитата:


iBragimoff сказал(а):

Таки да. В подсказке говорится о 2 колонках, но при переборе командой GROUP BY ошибка не выходит, только на 3х колонках.
И при выводе 3х колонок запросом: ' union SELECT 1,2,3 FROM secret #, выводится такая билеберда.


Здесь нет никакой каши - каша пока что только в голове ) Читай ВНИМАТЕЛЬНО задание.Вот задание:
Таблицы: users, secret

Поля таблицы users: id, login, pass

В таблице secret два поля

Запрос: SELECT * FROM users WHERE id=2 OR login='$text' LIMIT 1

Что мы здесь видим - в таблице users 3 колонки, а в таблице secret 2 колонки.То есть количество колонок РАЗНОЕ. Нужно сделать запрос так, чтобы обойти это несоответствие.
Задача ещё проще предыдущей, так что думай лучше.

Цитата:


iBragimoff сказал(а):

И да, кто-нибудь знает курсы,видео по MySQL


Самый лучший курс по взлому MySQL - Hitesh Choudhary Все секреты SQL.У меня нету если что, давно смотрел. Найдёшь, можешь скинуть ссылку в теме, начинающим весьма пригодится.

iBragimoff 20.08.2019 23:20

Цитата:


explorer сказал(а):

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


Нашёлся Файл из Облака Mail.Ru
И да, спасибо, что объясняешь)

explorer 20.08.2019 23:26

Цитата:


iBragimoff сказал(а):

Нашёлся Файл из Облака Mail.Ru
И да, спасибо, что объясняешь)


Ссылка нерабочая, нужно было проверить сначала.
Надеюсь разберёшься с задачей, решение пока не пишу, очень простой таск.

iBragimoff 20.08.2019 23:31

Цитата:


explorer сказал(а):

Ссылка нерабочая, нужно было проверить сначала.
Надеюсь разберёшься с задачей, решение пока не пишу, очень простой таск.


https://forum.antichat.xyz/attachmen...543ba76063.png

У меня ссылка работает. С таском лучше помучаюсь, так лучше запомнится) Если прям жёстко тупить буду, надеюсь, ты меня выручишь

iBragimoff 21.08.2019 21:20

Цитата:


explorer сказал(а):

Ссылка нерабочая, нужно было проверить сначала.
Надеюсь разберёшься с задачей, решение пока не пишу, очень простой таск.


На компьютере и вправду ссылка не работала. Сохранил на своё облако - Файл из Облака Mail.Ru


Время: 21:54