Под SQL-инъекцией подразумевается внедрение произвольного SQL-кода в запрос к СУБД для получения доступа к данным таблиц. На практике это зачастую выглядит как специально сформированный запрос к странице вида http://target.com/get_data.asp7idH, где вместо 1 в параметре id хакер пытается «пропихнуть» серию из SQL-команд, которая позволяет получить доступ к содержимому базы данных.
В зависимости от логики работы уязвимого приложения, техники эксплуатации SQL-инъекций принято делить на три большие группы: классические, слепые и абсолютно слепые.
Одно из отличий слепых инъекций от классических состоит в том, что для эксплуатации они требуют очень много времени и большое количество запросов, ведь данные «вытягиваются» бит за битом. Поэтому атакующему обычно необходимо отправить десятки тысяч запросов, чтобы вытянуть содержимое таблички среднего размера, что можеТ’быть замечено бдительным администратором уязвимой системы.
Однако есть способы, позволяющие значительно увеличить скорость получения данных из СУДБ при эксплуатации слепых инъекций, при этом снизив количество запросов к самой базе. Об одном из таких методов мы сегодня и поговорим.