Что такое SQL-инъекции Нападение / уязвимость?
Это часто задаваемые вопросы ответ был написан k4thryn:
А инъекции SQL уязвимость может произойти, если плохо написана программа использует пользователь при условии данные в базу данных без запроса подтверждения ввода. Это наиболее часто встречается в веб-страницы с динамическим контентом. Есть несколько прекрасных учебники и описательных статей на эту тему, равно как и многие уязвимости сообщений для различных приложений с полного раскрытия сайтов.
A simple example of SQL injection is a basic HTML form login in which you provide a username and password:
<form method="post" action="process_login.php"> <input type="text" name="username"> <input type="password" name="password"> </ FORM>
Учитывая этот фрагмент HTML, можно сделать вывод, что самый простой (и худшие) путь к скрипту "process_login.php", чтобы работа была бы для его создания и выполнения запроса к базе данных, который выглядит примерно так:
"SELECT ID С логины ГДЕ Имя пользователя = 'Имя пользователя $' и пароль = '$ пароль ";
В этих обстоятельствах, если переменные "$ имя пользователя и пароль $" взяты непосредственно из пользовательского ввода логина скрипта можно легко обмана в полагать, что правильный пароль была оказана, играя с синтаксиса SQL в заявлении. Предположим, что следующие строки были представлены в качестве пароля:
'Или''='
и мы дали "Боб" в качестве имени пользователя. После того, как переменные интерполированы, выше запрос будет выглядеть так:
"SELECT ID С логины ГДЕ Имя пользователя = 'Bob' и пароль =''или''='' ";
Этот запрос возвращает строку, потому что последнюю фразу:
... или''=''
всегда будет оценить к истине (пустая строка всегда равен пустой строке).
Предотвращение атак SQL-инъекции
Наиболее распространенные методы для предотвращения такого рода SQL инъекций vunerability для проверки ввода пользователя на опасные символы, такие как одиночные кавычки, а также с использованием подготовленных выступлений, которые указывают на то, что база данных ожидать до любого пользователя, предоставляемых данных передается ему.
|
Уязвимость управления для чайников
Последние сообщения блога
- SourceForge против Freshmeat






