Во множестве сайтов имеются уязвимости типа Sql иньекций. Однако, в большинстве случаев запрос имеет вид примерно: select * from tablename where rowname=$id Где id никак не фильтруется. Нести каких либо деструктивных функций, иньекция в таком запросе не может. Однако имеется возможность организации простыми средствами (Броузер, соединение через проски) эффективеую DOS атаку. /Я один сервак так минут на 20 вырубил/. И так. Теория: MySQL Manual BENCHMARK(count,expr) Функция BENCHMARK() повторяет выполнение выражения expr заданное количество раз, указанное в аргументе count. Она может использоваться для определения того, насколько быстро MySQL обрабатывает данное выражение. Значение результата всегда равно 0. Функция предназначена для использования в клиенте mysql, который сообщает о времени выполнения запроса:
mysql> SELECT BENCHMARK(1000000,ENCODE("hello","goodbye")); ============================================== Практика. Находим сайт с подобной уязвимостью, например http://site.ru/?id=5 показывает некотурую страницу. Проверям, что действительно имеет место подобная уязвимость: Пробуем http://site.ru/?id=7-2*cos(0) Как говориться, найдите 10 отличий. Налицо уязвимость подобного рода.
Набирам в броузере http://site.ru/?id=1+or+BENCHMARK(1000000000,BENCHMARK(1000000000, md5(current_date))) Жмем "обновить" несколько раз, не дожидаясь загрузки страницы. И видем - httpd или mysqld в дауне.... PS. Запрос составлен так, чтоб он не содержал ковычек или других упрямых символов...
PPS. Админы - обращаете побольше времени на sql иньекции... поставте (int)$id и/или addlsashes($id) Проверялось на PHP, но вероятно будет работать и на других языках...
хм..... оч инетерсна! я даж испытал ! работало тока сервер завис на минуты 2 видна быстра сервак обрабатывает запросы! зависит все от софта и самой машины! щас займусь написанием эксплоита на эту тему Phoenix если хошь дополнить в теории эксплоит стучись 454822 ! avt711327@mail.ru !