Наверх
Отображение
Настройки отображения:

Изменить размер шрифта х2
Изменить размер шрифта х4
Изменить цвет шрифта на красный
Изменить цвет шрифта на синий
Изменить цвет шрифта на серый
Изменить шрифт
Как взломать страницу в социальной сети в контакте?
Как правильно записать операционную систему на диск. Точные инструкции.
Как сделать Microsft Internet explorer браузером по умолчанию? Подробные инструкции.
Как запустить компьютер в безопасном режиме (Safe Mode)
Как убрать баннер с рабочего стола и из браузера. Самые действенные методы борьбы.
Подключение к удаленному рабочему столу - Вход в систему невозможен из-за ограничений учетной записи
Записываем диск. Разными методами.
История развития и эволюция клавиатуры.
Зомби ферма - весёлая игра в контакте.
Как удалить страницу в одноклассниках? как же "хорошо" в одноклассниках
Система Orphus

Как взломать сайт?

Для начала определимся с тем, что данной статьей я ни в коем случае не призываю кого-либо взламывать чьи-либо интернет-ресурсы, используя описанные ниже методы.

Основная цель статьи – продемонстрировать пользователю важность темы защиты данных в Интернете на примере сайта, не защищенного должным образом. В качестве способа атаки на сайт будет использоваться, пожалуй, самый распространенный метод взлома сайта – SQL-инъекция.

Для начала определимся с тем, что все без исключения современные объемные, сложные сайты строятся на основе базы данных. Работа с данными, хранящимися в базе данных вашего сайта, осуществляется посредством структурного языка запросов SQL.

SQL-инъекция – техника внедрения в исходный SQL-запрос определенного кода (не нарушающего структуры самого запроса) с целью получения доступа к данным, содержащимся в БД.

Таким образом при определенных условиях, связанных, как правило, с отсутствием в коде и запросах сайта функций, направленных на защиту данных, взломщик может посредством SQL-инъекции прочитать содержимое любых таблиц, а также удалить, изменить или добавить данные, получить возможность чтения и/или записи локальных файлов и выполнения произвольных команд на атакуемом сервере. Не будем долго останавливать на теории и перейдем к действиям.

Итак, для начала познакомимся с таким понятием, как передача данных методом GET. Не замечали ли вы, путешествуя по страничкам бесконечного Интернета, что ссылки, по которым вы путешествуете, зачастую имеют вид типа:

www.хххххх.ru/index.php?что-то = чему-то&еще_что-то = еще_чему-то,

где на месте моих условных «что-то» и «чему-то» стоят всевозможные значения.

Так вот, знайте, что url, выглядящие подобным образом, содержат в себе определенную информацию, а именно: за знаком вопроса следует сначала переменная (ее имя), а затем = ее значение. Знак & отделяет переменные друг от друга.

А делается это все лишь для того, чтобы страница, к которой вы обращаетесь, могла изменяться в зависимости от этих переменных, то есть их значения передаются тем самым методом GET в код страниц сайта, там эти значения обрабатываются, а на основе полученных результатов и получается наша веб-страница.

Но только вдумайтесь! Ведь никто не может вам запретить взять и вручную подправить этот url, сделать его таким, как нужно вам, нажать после этого клавишу enter и отправить данные этого url-а на обработку серверу БД!! Именно здесь и возникает возможность внедрения SQL-инъекции.

Итак, начнем. Мы имеем сайт, который на основании параметра id, переданного методом GET, вынимает определенные данные из БД и формирует на их основе нашу страницу. Вот код этого SQL-запроса, который обрабатывает наши данные из url-а:

$result3 = mysql_query('SELECT * FROM raspisanie WHERE cat=$id').

Если перевести на русский язык, запрос выполняет выборку всех данных из базы данных raspisanie, где поле cat=$id. По сути все, что в запросе идет за нашей переменной $id, которую мы передаем из url-а, нам уже не важно, и позже я поясню почему. Теперь разберемся с самим url-ом. Пусть изначально он выглядит так:

www.хххххх.ru/index.php?id=3.

То есть мы передаем этим url-запросом параметр id=3, и страница формируется на основе этого параметра, значит он помещается в наш SQL-запрос и получается, что из базы данных извлекаются все данные из таблицы raspisanie, где поле cat=$id=3. А теперь перейдем к самому интересному. Допустим, мы знаем, что в базе данных атакуемого сайта в таблице users хранятся логин и пароль от администраторской зоны сайта – в полях login и password соответственно. И тогда, просто изменив наш url следующим образом:

www.хххххх.ru/index.php?id =3+union+select+1,2,login,password,5,6,7 +from+user/*

– страница поместит всю эту большую переменную в наш запрос, который станет выглядеть как

$result3 = mysql_query('SELECT * FROM raspisanie WHERE cat=3 union select 1,2,login,password,5,6,7 from user/*').

И, обработав такой новый запрос, который никак не нарушает структуру таблиц БД, сервер сам вернет нам, помимо обычной информации, соответствующей значению id=3, еще и логин с паролем от сайта!

Чтобы было совсем понятно, я переведу наш новый «волшебный запрос»:

«Выбрать все данные из таблицы raspisaniе, где поле cat=3, а также сделать другой запрос: вывести, помимо полученных данных, значения логина и пароля из таблицы users».

Числа 1, 2 и т.д. являются произвольными и используются для сохранения структуры запроса, и число таких значений определяется подбором - до тех пор, пока число таких значений не станет равным числу значений, которые выводятся из базы данных по умолчанию.

Имена таблицы users и значения полей для логина и пароля также определяются подбором, ведь согласитесь, везде они имеют примерно одинаковые названия. И, наконец, символы в конце нашего url-а «/*» служат для отбрасывания хвоста начального запроса в случае его присутствия, чтобы он не нарушил структуру запроса внедренного.

Итак, мы наглядно, на примере успешного внедрения SQL-инъекции, ознакомились с одним из возможных способов взлома сайта.

Не пренебрегайте вопросами защиты информации своего сайта и спите спокойно!

Опубликовано: 2011-05-24

В рубрике: «Компьютер и интернет»

Просмотров: 632

Автор: Wikispace

Статья была добавлена на сайт анонимно и её автор неизвестен.




Рейтинг: 3 из 5 (голосов: 7)

Общий (округлённый) рейтинг статьи: 3    (фактический: 3.1428571428571 )
Всего баллов: 22     Голосов: 7
  • Disqus
  • Facebook
  • Native
  • Cackle

Свежие статьи в рубрике «Компьютер и интернет»

Как пользоваться фотошопом?

Фотошоп очень замечательная программа для редактирования фотографий и различных изображений в целом, безусловно это знают сейчас все. Это незаменимый…

Как создать сайт?

Для создания своего сайта вовсе не нужно вникать во все тонкости web программирования учить такие вещи как HTML, XHTML, CSS, PHP, JavaScript, perl и множество других языков…

Как скачать видео с YouTube?

На самом деле скачать видео с YouTube проще чем кажется по началу. Собственно это не составит труда даже для самого не подготовленного пользователя персонального…

Как увеличить скорость и эффективность работы за ПК

Здравствуйте уважаемый читатель. В этой статье хотелось бы рассказать о том как максимально эффективно использовать персональный компьютер в наши дни. Не…

Что такое спам?

Что же такое спам? Наверное это слово знакомо уже каждому пользователю ПК и обывателю интернета. Ведь правда, спам повсюду, от него уже некуда деться, он везде.…

Как узнать свой IP адрес? Все способы!

Как узнать свой IP адрес, этим вопросом задаются многие люди, которые не сильно разбираются в сетевых протоколах и вообще устройствах современных сетей.…

Недостаточно памяти на флешке! Решение проблемы

Наверное каждому знакома ситуация когда пытаешься копировать на флэш накопитель какие либо данные (объемом более 4 гигабайт) и операционная система выдает…

Как создать сервер в Left 4 Dead 2 ?

В этой статье я опишу Как создать сервер L4D2 через клиент Garena.Итак, начнем... 1. Закрываем все программы, которые активно используют интернет-соединение вашего ПК…