Просунуті методи SQL Injection атак: групування

22:45 21.06.2011

В даній серії статей про просунуті методи SQL Injection атак я розповім вам про різні цікави методи, що дозволять пришвидшити процес проведення SQL ін’єкцій та збільшити їх ефективність.

Зараз розповім вам про групування при SQL Injection. Групування - це відома процедура, що використовується при SQL запитах у веб додатках (а також при атаках на SQL Injection уразливості) для об’єднати в одному полі результуючих даних декілька полів.

Зокрема в MySQL групування відбувається за допомогою використання функцій concat та concat_ws. Це буває корисним при SQL ін’єкції, коли потрібно (для зручності чи при обмеженнях) вивести значення кількох полів в одному.

Окрім групування полів (щоб в одному полі одного запису виводилися значення декількох полів), є ще можливість групувати записи. Це робиться за допомогою функції group_concat.

Її синтаксис наступний: group_concat(table_name) або group_concat(table_name separator 0×3a). Детально про синтаксис ви можете дізнатися в документації MySQL.

Функція group_concat була додана в MySQL 4.1. Тому в більш старих версіях нею не вийде скористатися, але в версіях починаючи з 4.1 вона стане в нагоді.

Про дану функцію я дізнався торік (в 2010 році я виявив кілька нових цікавих методів, про які розповім в своїх статтях). За допомогою даного методу можна виводити в одному полі одного запису будь-яку кількість записів (в одне поле). Щоб не виводити їх по одному, а одразу декілька (або усі). А якщо скомбінувати перший і другий метод, то можна виводити будь-яку кількість полів будь-якої кількості записів в одному полі.


Leave a Reply

You must be logged in to post a comment.