Немного теории
В большинстве случаев у веб-сайтов "сливают" бд (базу данных) при помощи внедрения SQL кода (SQL Injection).
Для внедрения кода хакеры делают поиск уязвимых мест сайта, где можно выполнить SQL Injection, и в последствии получить определённые данные с базы данных веб-сайта.
Принцип работы такой аттаки достаточно прост.
Например:
Мы на сайте example.com искали уязвимое место, и нашли уязвимость, через которую можно выполнить SQL код. Допустим это get запрос xttp://example.com/?id=1 . Выполнив этот запрос, мы получим на веб-сайте контент под id 1, а в коде это выглядит так:
Получается нам нужно выполнить запрос xttp://example.com/?id=-1 UNION SELECT group_concat(username, 0x3a, password) FROM users , и в итоге мы получим SQL запрос, который не выдаст никаких новостей (т.к. новостей с индексом -1 несуществует), но зато мы получим информацию из таблицы users.
Учитывая данный пример, можно понять что и защититься от него просто. Иногда защита от UNION - это просто дополнение к запросу для блокировки вывода информации, но тогда в конце нашего UNION запроса мы можем использовать символ комментария в зависимости от СУБД.
Иногда мы хотим внести в базу данных свои изменения. Для этого мы можем отправить 2 SQL запроса, просто разделив их символом ';'. Например дописать после id записи следующую строку ;INSERT INTO users (username, password) VALUES ('Nummer', 'exploit.in');.
Программы для автоматического взлома сайтов
Чаще всего "хакеры" используют программы, для автоматического слива веб-сайтов. Самая популярная программа - это sqlmap. Он достаточно прост в использовании, а в интернете по нему полно мануалов и видео. Есть программы по проще, например Havij. В отличии от sqlmap эта программа только под ОС Windows, и имеет поменьше возможностей и визуальный интерфейс.
Так же есть большое количество "дамперов", как локальных, так и веб.
Но тут возникает одна проблема, программы у нас есть, но как нам найти уязвимость? В примере выше описан самый простой вариант, а на деле всё намного труднее.
Поиск уязвимостей
Чаще всего люди дампают сайты по стране и тематике, а для этого они используют "дорки".
Дорки - это наиболее вероятные уязвимые места в веб сайтах. Их выкладывают в паблик, продают. Дорки выглядят примерно так:
То есть это простые get запросы, в которых может быть уязвимость, а поиск таких уязвимых сайтов выполняют через поисковые системы (например google). Программ для автоматического поиска достаточно, т.к. руками делать это всё устанешь
Но теперь возникает вопрос, а как же взломать конкретный сайт? Тут уже всё зависит от фантазии и опыта того, кто будет искать уязвимость в данном веб-сайте. Человек может так же выполнить поиск по данному сайту используя "дорки" (опять же через поисковые системы), и пройтись по якобы уязвимым ссылкам, либо может выполнять поиск уязвимости руками, т.к. она бывает не в GET запросе, а в POST. Например регистрация пользователя, либо авторизация. Для этого придётся перебрать множество потенциально уязвимых мест на сайте, а это множество get запросов, либо post запросы форм.
По факту поиск уязвимостей на конкретных сайтах может быть неудачным, т.к. в большинстве популярных движков для веб сайтов почти все уязвимости профиксили.
Что нужно знать для слива сайтов
Для слива веб сайтов нужно понимать структуру базы данных, язык SQL. Желательно ещё и PHP.
Иметь упорство и терпение, ибо в первый раз может и не получиться, и нужно искать уязвимости дальше
Всех с наступающим праздником, и всем добра
Слепую SQL injection рассматривать не стал, т.к. для этого надо отдельную статью писать)
В большинстве случаев у веб-сайтов "сливают" бд (базу данных) при помощи внедрения SQL кода (SQL Injection).
Для внедрения кода хакеры делают поиск уязвимых мест сайта, где можно выполнить SQL Injection, и в последствии получить определённые данные с базы данных веб-сайта.
Принцип работы такой аттаки достаточно прост.
Например:
Мы на сайте example.com искали уязвимое место, и нашли уязвимость, через которую можно выполнить SQL код. Допустим это get запрос xttp://example.com/?id=1 . Выполнив этот запрос, мы получим на веб-сайте контент под id 1, а в коде это выглядит так:
Код:
....
$id = $_REQUEST['id'];
$show_content = mysql_query("SELECT * FROM contents WHERE id_content =".$id);
....
Учитывая данный пример, можно понять что и защититься от него просто. Иногда защита от UNION - это просто дополнение к запросу для блокировки вывода информации, но тогда в конце нашего UNION запроса мы можем использовать символ комментария в зависимости от СУБД.
Иногда мы хотим внести в базу данных свои изменения. Для этого мы можем отправить 2 SQL запроса, просто разделив их символом ';'. Например дописать после id записи следующую строку ;INSERT INTO users (username, password) VALUES ('Nummer', 'exploit.in');.
Программы для автоматического взлома сайтов
Чаще всего "хакеры" используют программы, для автоматического слива веб-сайтов. Самая популярная программа - это sqlmap. Он достаточно прост в использовании, а в интернете по нему полно мануалов и видео. Есть программы по проще, например Havij. В отличии от sqlmap эта программа только под ОС Windows, и имеет поменьше возможностей и визуальный интерфейс.
Так же есть большое количество "дамперов", как локальных, так и веб.
Но тут возникает одна проблема, программы у нас есть, но как нам найти уязвимость? В примере выше описан самый простой вариант, а на деле всё намного труднее.
Поиск уязвимостей
Чаще всего люди дампают сайты по стране и тематике, а для этого они используют "дорки".
Дорки - это наиболее вероятные уязвимые места в веб сайтах. Их выкладывают в паблик, продают. Дорки выглядят примерно так:
Код:
?id=22
?page=25
?q=text
....
Но теперь возникает вопрос, а как же взломать конкретный сайт? Тут уже всё зависит от фантазии и опыта того, кто будет искать уязвимость в данном веб-сайте. Человек может так же выполнить поиск по данному сайту используя "дорки" (опять же через поисковые системы), и пройтись по якобы уязвимым ссылкам, либо может выполнять поиск уязвимости руками, т.к. она бывает не в GET запросе, а в POST. Например регистрация пользователя, либо авторизация. Для этого придётся перебрать множество потенциально уязвимых мест на сайте, а это множество get запросов, либо post запросы форм.
По факту поиск уязвимостей на конкретных сайтах может быть неудачным, т.к. в большинстве популярных движков для веб сайтов почти все уязвимости профиксили.
Что нужно знать для слива сайтов
Для слива веб сайтов нужно понимать структуру базы данных, язык SQL. Желательно ещё и PHP.
Иметь упорство и терпение, ибо в первый раз может и не получиться, и нужно искать уязвимости дальше
Всех с наступающим праздником, и всем добра
Слепую SQL injection рассматривать не стал, т.к. для этого надо отдельную статью писать)