ANTICHAT

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

iBragimoff 18.08.2019 18:44

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

Давайте решим вторую задачу. С ней у меня вроде получилось, но очень криво. Давайте приступим.

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

Она схожа с предыдущей, но в этом случае текст из поля ввода подставляется в переменную $text.
Как видите на картинке, я пытался закрыть кавычки, после вывести все пароли из таблицы users, а остальное закомментировать двумя тире.
Но выдаёт ошибку. Попрошу тех кто разбирается объяснить почему команда не правильная.
Я решил задачу по другому: ' OR 1=1 -- ', только она выдаёт весь список, а нам нужен 9 ID.
Как подчеркнул в предыдущей статье explorer, данный способ не корректный, потому что в базе могут быть тысячу и больше ID.

Цитата:


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



mrOkey 18.08.2019 18:52

Цитата:


iBragimoff сказал(а):

Попрошу тех кто разбирается объяснить почему команда не правильная.


Потому что у тебя тут MariaDb, там символ комментария ставится иначе.

mrOkey 18.08.2019 18:56

Цитата:


iBragimoff сказал(а):

Я решил задачу по другому: ' OR 1=1 -- ',


Это кстати неверное решение)

И не плодите темы. Пишите в одной

iBragimoff 18.08.2019 18:58

Цитата:


mrOkey сказал(а):

Это кстати неверное решение)


Цитата:


iBragimoff сказал(а):

Как подчеркнул в предыдущей статье explorer, данный способ не корректный, потому что в базе могут быть тысячу и больше ID.



iBragimoff 18.08.2019 19:02

Цитата:


mrOkey сказал(а):

Потому что у тебя тут MariaDb, там символ комментария ставится иначе.


На MariaDB используются тире и хештег, но в обоих случаях решение не верное.

iBragimoff 18.08.2019 19:06

Цитата:


mrOkey сказал(а):

И не плодите темы. Пишите в одной


Простите, но я откажу в вашей просьбе.

explorer 18.08.2019 19:27

Опять одни и те же грабли - запрос плохой, очевидно же, что так выведется ВСЁ, а всего может быть тысячи строк.
Вот решение:
' union SELECT pass,2,3 FROM users WHERE id=9 -- -
В задании написано - Поля: id, login, pass
Тут уже очевидная подсказка - полей 3 штуки. Значит нужно использовать union для объединения, опять же указывая условие. Таким образом получится вывести в одну строку ответ.

iBragimoff 18.08.2019 19:28

Цитата:


explorer сказал(а):

Опять одни и те же грабли - запрос плохой, очевидно же, что так выведется ВСЁ, а всего может быть тысячи строк.
Вот решение:
' union SELECT pass,2,3 FROM users WHERE id=9 -- -
В задании написано - Поля: id, login, pass
Тут уже очевидная подсказка - полей 3 штуки. Значит нужно использовать union для объединения, опять же указывая условие. Таким образом получится вывести в одну строку ответ.


Спасибо! А почему в конце три тире?

explorer 18.08.2019 19:36

Цитата:


iBragimoff сказал(а):

Спасибо! А почему в конце три тире?


Специально для начинающих, недавно делал статью там про дефис и не только. Это поможет разобраться.

mrOkey 18.08.2019 19:41

Цитата:


explorer сказал(а):

Специально для начинающих, недавно делал статью там про дефис и не только. Это поможет разобраться.


третий дефис как бы не нужен, достаточно пробела


Время: 00:29