1
  1. Этот сайт использует файлы cookie. Продолжая пользоваться данным сайтом, Вы соглашаетесь на использование нами Ваших файлов cookie. Узнать больше.
Приветствуем вас,Гость, на форуме IFUD.WS. Обязательно рекомендуется к прочтению правила форума http://ifud.ws/threads/obnovleno-pravila-foruma.7759

Взлом сайта : Основные аспекты

Тема в разделе "Чужие", создана пользователем bios, 31 авг 2016.

  1. TopicStarter Overlay
    bios

    bios

    Регистрация:
    22 июн 2012
    Сообщения:
    539
    Симпатии:
    622
    Давно не пополнял копилку статей. В связи с тем фактом, что ко мне частенько обращаются люди по поводу взлома сайтов , я бы хотел осветить основные моменты данной деятельности. И да, не надо мне писать по данному поводу. Далеко не каждый сайт можно взломать и далеко не всегда везет на конкретные уязвимости. Кроме того это занимает большое кол-во времени и чтобы получить конкретный результат должна быть серьезная заинтересованность.

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


    1) Знакомство с ресурсом.
    Первым делом необходимо понять, что за сайт перед нами.
    Самописный ли он или же это движок( CMS)?
    Какой язык программирования используется?
    Что за серверное ПО используется?

    Эти и многие другие вопросы нам предстоит решить.

    -- Версии ПО
    Думаю сначала необходимо заглянуть в исходный код веб-страницы. Если вы в firefox-based браузерах, то нажмите ctrl+u. Разумеется вы должны понимать, что это исходной код не серверной части, а клиентский html,css,javascript - отданный сервером нашему браузеру. Итак, что же там может быть полезного?
    Обычно если это известная CMS, можно обнаружить ее версию, если она специально не была скрыта. Этим грешат известные форумы, блоги и тд. Можете нажать ctrl+f и поискать "ver" или "version". Например - wordpress.co.ua
    Здесь виден следующий тег "<meta name="generator" content="WordPress 4.5.3"

    Также бывают видны версии отдельных плагинов. Это пригодится для нахождения известных уязвимостей.
    Не забываем проверить robots.txt. Например - Please login or register to view links
    Это файл предназначенный для просмотра роботами поисковых систем, который однако иногда содержит полезные директории, недоступные в качестве прямых ссылок с сайта.

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

    Также можно глянуть известное ПО, наподобие - /phpmyadmin, /myadmin.
    Там может быть web-админка для базы данных.

    Если вы ничего подобного не находите, то это значит, что либо админы постарались скрыть факт использования определенной CMS, либо что сайт самописный.
    Но конечно можно также определить, что за движок используется по косвенным признакам.
    Например, в урлах присутствует wp-content - Wordpress
    Имеется /modules/mod_ - Чаще всего Joomla
    Определенная страница регистрации - community/ucp.php PhpBB
    И так далее. Главное ознакомиться с популярными решениями в веб.
    Также можете проверить файл .htaccess Чаще всего он недоступен, но в торе например встречал сайты, на которых его можно было посмотреть. Там могут быть полезные ссылки. Или же sitemap.php, sitemap.xml
    Например - Please login or register to view links


    -- Сервер

    Далее никогда не помешает узнать побольше информации о самом сервере.
    Если ресурс расположен в клирнете, то можно просканировать его с помощью nmap.
    nmap -F ip (Узнает основные открытые порты)

    Получите нечто вроде такого.
    Nmap scan report for duckduckgo.com (46.51.197.89)
    Host is up (0.38s latency).
    rDNS record for 46.51.197.89: ec2-46-51-197-89.eu-west-1.compute.amazonaws.com
    Not shown: 97 filtered ports
    PORT STATE SERVICE
    25/tcp closed smtp
    80/tcp open http
    443/tcp open https


    Nmap done: 1 IP address (1 host up) scanned in 7.75 seconds
    С помощью nmap можно также идентифицировать отдельные версии сервисов или же ОС сервера.

    Например:
    sudo nmap -O ip

    Running (JUST GUESSING): Crestron 2-Series (90%), Netgear embedded (90%), Western Digital embedded (90%), HP embedded (87%), AXIS Linux 2.6.X (87%), Linux 2.6.X|3.X (85%)
    OS CPE: cpe:/o:crestron:2_series cpe:/o:axis:linux:2.6 cpe:/o:linux:kernel:2.6 cpe:/o:linux:kernel:3
    Aggressive OS guesses: Crestron XPanel control system (90%), Netgear DG834G WAP or Western Digital WD TV media player (90%), HP P2000 G3 NAS device (87%), AXIS 210A or 211 Network Camera (Linux 2.6) (87%), Linux 2.6.32 (85%), Linux 3.0 - 3.1 (85%)
    No exact OS matches for host (test conditions non-ideal).


    OS detection performed. Please report any incorrect results at Please login or register to view links .
    Nmap done: 1 IP address (1 host up) scanned in 59.76 seconds
    Подробнее здесь - Please login or register to view links
    Это не всегда верная информация, поэтому полностью полагаться на нее не стоит.

    Нам нужно узнать, какой программный сервер использует сайт. Чаще всего это либо Nginx, либо Apache.
    Иногда это можно увидеть если вбить неправильный урл и при необработке его сайтом, этим займется сервер. Такое бывает чаще всего на самописных сайтах.
    Например - Please login or register to view links
    Если вам повезет, там будет также версия. Обычно этим грешит Apache.

    Но даже если 404 ошибка обрабатывается сайтом - можно ввести очень длинный урл в строку запроса. Чтобы нам выдало ошибку - 414 Request-URI Too Large
    Там иногда может быть версия.

    -- Полезные страницы
    Бывает полезно знать страницы логина, админку и некоторые другие страницы. Чтобы их отыскать вы можете попробовать перебрать основные известные варианты, либо найти их в коде страницы или же в карте сайта. Для подобных дел можно написать простой скрипт или же использовать готовое решение. Нумитира кстати публиковал на Runion какой-то скрипт на перл.
    Может быть также гугл проиндексировал их. Учите запросы гугла site:, inurl:, filetype: и другие

    Также можно угадать например в wordpress - wp-admin/, wp-login/ - Например Please login or register to view links
    В xenforo - это admin.php Например Please login or register to view links
    Please login or register to view links
    И так далее..


    2) Ищем уязвимые места
    Разумеется сначала нужно попробовать найти известные уязвимости по той информации, которую мы собрали в предыдущем пункте.

    Здесь могут помочь сайты:
    Please login or register to view links
    Please login or register to view links


    Например ищем все эксплоиты по Вордпресс - Please login or register to view links

    Или по конкретным плагинам - Please login or register to view links

    Что делать с найденными эксплоитами будет рассмотрено в следующем разделе.

    А пока подумаем, что же делать, если нам неизвестны версии ПО или же это самописный сайт.
    Тут друг мой придется потрудиться ручками. Какие же основные уязвимости бывают на сайтах?

    -- SQL - Ошибка в запросах баз данных. Вы должны знать, что каждый сайт имеет БД, в которой хранит постоянно какую-то информацию. Это может быть база пользователей, статей и многое другое. Когда мы вводим какой-то урл, сайт обращается к базе и извлекает нам данные в виде понятной для браузера формы - html-разметки

    Поступают запросы от юзера обычно двух типов - GET или же POST
    Самый простой способ проверить на наличие sql ошибки ввести в параметр кавычку. Или другие заведомо неправильные параметры.
    Например - Please login or register to view links

    При POST же запросах попробуйте вбить эту самую кавычку в поля формы.
    Подробнее почитайте этот документ от Positive Technologies - Please login or register to view links

    Данная ошибка при правильной эксплуатации позволит извлечь базу данных форума. Для автоматизации используй - sqlmap. Для ручного использования необходимо изучить язык запросов SQL.

    -- XSS - Эта ошибка позволяет исполнение скриптов, введенных пользователем.
    Проверяется обычно в простом варианте также заполнением параметров запроса данным выражением - <script>alert('xss')</script>
    Если вылетит всплывающее сообщение с xss, значит запрос уязвим. Опасна тем, что позволяет украсть определенные данные юзера.


    -- CSRF - Запросы от лица юзера. Это уязвимость опасна в случае если сайт имеет возможность логина, но не генерирует для каждой формы специальный csrf-токен.
    Тогда возможно создать запрос от лица юзера просто подкинув ему ссылку на веб-страницу на вашем домене. Если сделать автоматом исполняющийся скрипт для отправки запроса при заходе, тогда все будет мгновенно происходить, а юзер может даже и не заметить того.

    Например - Please login or register to view links
    В старых версиях Opencart, на котором он сделан в форме смены пароля не надо было вводить пароль. И благодаря этому можно сменить пасс юзера подкинув ему ссылку на подобный html-файл. Сделан для примера. Там до сих пор нет csrf-токенов, но чтобы заюзать данный файл нужно заменить 123456 на ваш пасс, а остальное на новый. Но вполне вероятно, что для других форм, что есть на подобных сайтах данная уязвимость сработает и просто так. Ищите.

    <form action="Please login or register to view links" method="post" enctype="multipart/form-data">

    <div class="content">
    <table class="form">
    <tbody>
    <tr>
    <td><input name="old_password" value="123456" type="hidden">
    </td>
    </tr>


    <tr>

    <td><input name="password" value="987654321" type="hidden">
    </td>
    </tr>
    <tr>

    <td><input name="confirm" value="987654321" type="hidden">
    </td>
    </tr>
    </tbody></table>
    </div>
    <div class="buttons">

    <div class="right"><input value="Continue" class="button" type="submit"></div>
    </div>
    </form>


    Это были основные уязвимости. Существует еще множество других, специфических, например PHP Object Injection, основанная на логике языка PHP или ошибки темплейтов в python - django,flask. Чтобы ими воспользоваться вам необходимо изучить конкретику подробнее.

    3) Взлом.

    В случае с известными уязвимостями вы можете просто использовать готовые эксплойты. В этом нет ничего сложного. Просто чаще всего они публикуются на англ языке. Внимательно вчитывайтесь в описание и восполняйте недостаток знаний путем гугления незнакомых терминов или техник.

    Например - Please login or register to view links
    Здесь речь идет о xss-уязвимости для YaBB, просто подставляем в урл в конец необходимый скрипт. Чтобы этот скрипт принес какую-то пользу ищем, как с помощью javascript компрометировать пользователей или же можете воспользоться xss-фреймворком Beef, который позволяет легко в web-интерфейсе управлять зомби-машинами юзеров.

    Также если вы хотите потренироваться на конкретном эксплойте, против заведомо уязвимых сайтов, то читаем такое
    Google Dork :
    #+ inurl:YaBB.pl?num=
    #+ "Powered by YaBB 2.5"
    #+ "Powered by YaBB 2.6.11"

    Гугл дорк - это то, что необходимо вбить в гугле, чтобы найти уязвимые для данного эксплойта сайты. Все банально просто.

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

    В случае с самописными сайтами вам необходимо пополнить багаж знаний. Чтобы взломать сайт надо минимум также хорошо, как админ понимать, как он работает. Максимум - гораздо больше. Узнаем язык и изучаем. Чаще всего сайты пишутся на php.
    Изучаем кратко html,javascript. Читаем информацию о xss,sql,csrf. Понимаем get,post запросы. Пишем простой сайт с нуля, чтобы понимать стандартную структуру.
    Изучаем Линукс, чтобы знать на каком серверном ПО хостится сайт и как настраивается сервер.
    Учимся программировать на скриптовом языке для понимания эксплойтов или написания простых своих. Для этого подойдет python,perl.

    Удачи в нашем нелегком деле..
     
    • Like Like x 6
  2. Horse

    Horse

    Регистрация:
    14 окт 2016
    Сообщения:
    2
    Симпатии:
    0
    Спасибо, многое не знал) вот только щас узнал, лайк!
     
  3. crhbgf

    crhbgf

    Регистрация:
    6 ноя 2016
    Сообщения:
    1
    Симпатии:
    0
    создал search.php ,но до ума не могу довести , нажимаю запуск и в браузезе открывается как file:///C:/..........
    как исправить ?
     
  4. NANOTECH

    NANOTECH

    Регистрация:
    11 дек 2012
    Сообщения:
    150
    Симпатии:
    69
    почитай где php работает. Please login or register to view links
     
  5. LittleBears

    LittleBears

    Регистрация:
    24 окт 2016
    Сообщения:
    52
    Симпатии:
    24
    Сел включил Ubuntu вооружил 100 и 1 софтиной для скана и т.д и погнал автоматизированно все это ебошить.)Статья годная для новичков!)
     

Поделиться этой страницей

Загрузка...