Имеется сайт с SQL-инъекцией, которая позволяет делать вложенные запросы, но только в том случае, если запрос вернет в ответе только 1 строку. Сначала я сделал SELECT version() - запрос вернул "8.0.16" - то есть мы убедились, что на сервере стоит mysql.
Дальше пытаюсь сделать следующее:
Попытка 1: SELECT TOP 1 COLUMN_NAME FROM INFORMATION_SCHEMA.COLUMNS WHERE table_name = 'students' - выбрасывает ошибку
Попытка 2: SHOW COLUMNS FROM students; - выбрасывает ошибку
Попытка 3: SHOW TOP 1 COLUMNS FROM students; - ошибка
Попытка 4: DESCRIBE 'students' - ошибка.
Попытка 5: SELECT column_name FROM information_schema.columns WHERE table_name='students'; - ошибка уже другая - "Subquery returns more than 1 row in /var/www/html/lab4.php on line 14"
Но если исправить это на:
SELECT TOP 1 column_name FROM information_schema.columns WHERE table_name='students'; - снова ошибка Fatal error: Uncaught Error
Так как же можно это сделать? Что-то мне подсказывает, что вариант 5 должен оказаться рабочим, только не получается реализовать.
У кого-нибудь есть идеи? Буду благодарен за любую помощь.
Сначала я сделал SELECT version() - запрос вернул "8.0.16" - то есть мы убедились, что на сервере стоит mysql.
Дальше пытаюсь сделать следующее:
Попытка 1: SELECT TOP 1 COLUMN_NAME FROM INFORMATION_SCHEMA.COLUMNS WHERE table_name = 'students' - выбрасывает ошибку
Попытка 2: SHOW COLUMNS FROM students; - выбрасывает ошибку
Попытка 3: SHOW TOP 1 COLUMNS FROM students; - ошибка
Попытка 4: DESCRIBE 'students' - ошибка.
Попытка 5: SELECT column_name
FROM information_schema.columns
WHERE table_name='students'; - ошибка уже другая - "Subquery returns more than 1 row in /var/www/html/lab4.php on line 14"
Но если исправить это на:
SELECT TOP 1 column_name
FROM information_schema.columns
WHERE table_name='students'; - снова ошибка Fatal error: Uncaught Error
Так как же можно это сделать? Что-то мне подсказывает, что вариант 5 должен оказаться рабочим, только не получается реализовать.
У кого-нибудь есть идеи? Буду благодарен за любую помощь.