SQL injection/uk

Огляд
SQL injection is a type of attack that uses vulnerabilities in an application's input validation or data typing for SQL queries.

У разі успіху атака дозволяє зловмиснику ввести дані в існуючий запит SQL. Тоді зловмисник може отримати приватні дані, спричинити відмову в обслуговуванні або викликати інші ненавмисні реакції. У гіршому випадку введений код дозволить зловмиснику отримати повний контроль над системою, використовуючи численні вразливості сервера баз даних, системних утиліт та операційної системи.

Щоб отримати огляд атак із застосуванням SQL, перегляньте сторінку SQL Injection у Вікіпедії.

Приклад
Наступний фрагмент коду дозволить зловмиснику виконувати власні команди SQL (і є синтаксичною помилкою в Oracle).

Переважним способом виконання наведеного вище запиту буде:

To exploit the vulnerability and fetch the email addresses of registered wiki users, the attacker would use a GET string of:



SQL Injection and MediaWiki
MediaWiki has a custom SQL generation interface which has proven to be effective for eliminating SQL injection vulnerabilities. The SQL generation interface also provides DBMS abstraction and features such as table prefixes.

To keep MediaWiki safe from SQL injection


 * avoid using direct SQL queries at all costs
 * review Manual:Database access and use the functions provided in Database.php
 * read the The Open Web Application Security Project's page on SQL injection (http://www.owasp.org/index.php/SQL_Injection)
 * The SQL Injection Wiki: http://www.sqlinjectionwiki.com/