Короче Не совсем ... но.
Хотя это может предоставить больше информации, чем вам удобно (версия MySQL работает, используемые драйверы и немного о нескольких столбцах), это не приведет вас к атаке так сильно, как показывая всю строку SQL. Кто-то может попытаться ослепить его, чтобы получить больше информации, а тот факт, что он показывает какую-либо информацию, намного хуже для вас с точки зрения того, что злоумышленник пытается проникнуть, чем показывать информацию только в журналах. Обратная связь, даже немного может помочь атаке [er].
Если при попытке вставить различные биты кода в форму, вы можете получить ответ, который печатает ваш собственный контент, который вы вставляете, это гораздо выгоднее для злоумышленника. Тот факт, что это приложение ломается, когда вы вставляете '
, заставляет меня поверить, что он не является защищенным, как утверждает программист. Это может также привести к тому, что злоумышленник будет искать еще одну возможность атаки. Если они могут вставить код javascript в форму и отобразить его в профиле, или если они могут ввести код, который выполняется при возврате с сервера, то они могут использовать сервер и использовать его для запуска своих собственных атак.
Проблемы с внедрением SQL возвращаются к реализации [code] и допускают (и слепо обрабатывают) типы форм. Например, если вы могли бы избежать одиночной цитаты \'
в вашей текущей ситуации, кто-то мог бы открыть и закрыть инструкцию SQL и, возможно, UNION
свою собственную инструкцию при вытягивании запроса. Если они могут закрыть заявление и добавить другое заявление, они могут добавить delete from users where 1=1
или что-то в этом роде. Другой способ может быть, если вы можете ввести <marquee>Test</marquee>
и распечатывать прокрутку слова «тест», когда он не находит никаких результатов, тогда вы можете выполнять инъекции, потому что это не удаление кода.
Все это ведет к разрешениям. Разрешения на сервере должны сделать так, чтобы пользователи на передней панели сайта имели доступ к необходимым уровням разрешений. Если они запрашивают только базу данных (SELECT
), у них не должно быть доступа к INSERT
, UPDATE
, DROP TABLES
, или DELETE
.
Где ваш запрос? –
Нет, эта ошибка означает, ** theres ошибка в sql? ** Нам нужно будет увидеть запрос и как он buil и т. Д., Чтобы узнать, есть ли какие-либо проблемы здесь. –
Если вы получаете сообщения об ошибках об фрагментах SQL, вполне возможно, что кому-то удалось отключить команду и вставить свою собственную команду в середине. Это зависит от того, представляет ли промежуточное программное обеспечение текст, сгенерированный пользователем, как часть команды или с помощью заполнителя типа?. Предполагается, что с помощью API-интерфейсов избегайте атаки. Использование пользовательского текста как части команды SQL является небезопасным. – Paul