Котлета по-киевски Digital Explosi0n Хакер, номер #078, стр. 078-056-4 Два слова об SQL Injection Про SQL Injection твой любимый журнал писал уже не раз и не два. Но для тех, кто только что сошел с бронепоезда, поясню общие понятия. Работа всех интерфейсов для БД основана на том, что в заранее определенные SQL-запросы подставляются различные конкретные данные, определяемые пользователем. Чтобы как-то отделить данные от запроса, обычно их заключают в кавычки. Например, вот так: $result = mysql_query(\"SELECT pass FROM table WHERE mail='$mail'\"); Если же скрипт не фильтрует полученные от пользователя данные (в примере — переменная $mail), ты можешь попробовать вставить в $mail кавычку «'». Это приведет к ошибке исполнения. Далее надо составить запрос хитрым образом, чтобы он вливался в общую картину, не вызывал ошибок и при всем этом выполнял нужные нам действия. Например, если переменная $mail имеет значение vasya@mail.ru' INTO OUTFILE 'vasya.txt, то запрос получится таким: $result = mysql_query(\"SELECT pass FROM table WHERE mail='vasya@mail.ru' INTO OUTFILE 'vasya.txt'\"); И после исполнения в файле vasya.txt окажется пароль Василия. WWW John The Ripper for WINDOWS: www.openwall.com/john/b/john-16w.zip John The Ripper for UNIX: www.openwall.com/john/b/john-1.6.tar.gz INFO «Пикник на обочине» — А. и Б. Стругацкие: www.stalker3d.net/zip/Piknik.zip Подборка статей по безопасному программированию: www.web-hack.ru/books/books.php?go=36. CD/DVD На нашем диске ты найдешь полные версии программ, описанных в этой статье, документацию и отличную книгу для души. |