Что такое 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 для проверки ввода пользователя на опасные символы, такие как одиночные кавычки, а также с использованием подготовленных выступлений, которые указывают на то, что база данных ожидать до любого пользователя, предоставляемых данных передается ему.

SQL Server безопасности Освоение SQL Server 2000 Security SQL Server Безопасности Дистиллированная Oracle Безопасности Справочник: Реализовать план Звук безопасности в вашей окружающей среде Oracle
Покупка этих прекрасных книг по SQL безопасности на Amazon.com


Top 5 Бесплатные Сетевые средства

Уязвимость управления для чайников

Наши друзья в Qualys предлагает бесплатные копии электронных версией Уязвимость управления для чайников по-техническая Часто задаваемые вопросы читателей.

Уязвимость управления для чайников:

  • Объясняет необходимость критической уязвимости управления
  • Подробная информация о важнейших лучшие практики шагов успешного уязвимости управления программой
  • Описываются различные уязвимости управленческих решений - в том числе преимущества и недостатки каждого
  • Выделяет наградами QualysGuard уязвимости решение по управлению
  • Обеспечивает десяти пунктов контрольный список для устранения уязвимости с вашими ключевыми ресурсами
Закладка Что такое SQL-инъекции Нападение / уязвимость?

Последние сообщения блога


Английский Английский Немецкий Немецкий Испанский Испанский Французский Французский Итальянский Итальянский Португальский Португальский Русский Русский Голландский Голландский
Греческая Греческая Хинди Хинди Японский Японский Корейский Корейский Китайский Китайский Китайский (упрощенный) Китайский (упрощенный) Арабский Арабский

Copyright 2009 Tech-FAQ. Все права защищены. Политика конфиденциальности.