SQL-инъекция - попытка выпустить команды SQL в базу данных через интерфейс веб-сайта, чтобы получить другую информацию. А именно, эта информация представляет собой хранимую информацию базы данных, такую как имена пользователей и пароли.
Первое правило защиты любого скрипта или страницы, прикрепленной к экземпляру базы данных, - это не доверять пользовательскому вводу.
Ваш пример пытается завершить неверную строку в инструкции SQL. Чтобы понять это, вам сначала нужно понять инструкции SQL . В вашем примере добавления параметра '
к параметру ваша «инъекция» надеется на следующий тип выражения:
SELECT имя пользователя, пароль FROM users WHERE username = '$ username'
blockquote>Добавив к этому оператору
'
, вы можете добавить дополнительные SQL-параметры или запросы:' OR username --
SELECT username, password FROM users WHERE username = '' OR username - '$ username
blockquote>Это - это инъекция (один тип: перестройка запроса). Пользовательский ввод становится инъецированным оператором в предварительно написанный оператор SQL.
Как правило, существует три типа методов SQL-инъекций:
- Изменение или перенаправление запроса (выше)
- На основе сообщения об ошибке (Нет такого пользователя / пароля )
- Blind Injections
Чтение на SQL Injection , Как проверить уязвимости , понимание и преодоление SQL-инъекции , и этот вопрос (и связанные с ним) в StackOverflow об исключении инъекций .
Edit:
ИСПЫТАНИЕ вашего сайта для SQL-инъекции, понимайте, что он становится более сложным, чем просто «добавить символ». Если ваш сайт имеет решающее значение, и вы (или ваша компания) можете себе это позволить, нанимайте профессиональный тестер для пера. В противном случае, этот большой exaxmple / proof может показать вам некоторые общие методы, которые можно использовать для проведения теста на инъекцию. Существует также SQLMap , который может автоматизировать некоторые тесты для сценариев SQL Injection и database take over.
У вас есть учетная запись root без пароля. Лучше всего заглянуть в файл conf, расположенный в вашем каталоге phpmyadmin, и проверить пароль.