Читайте также: |
|
Авторизация пользователя на сервере может осуществляется по многим критериям, это может быть идентификатор сессии в HTML коде, содержимое данных cookie, или же внешний IP адрес клиента. В зависимости от задачи разработчики выбирают наиболее подходящий им метод, но независимо от этого веб-сервер предоставляет им все имеющиеся данные. Для злоумышленника, в данном случае, представляет интерес внешний адрес клиента, который можно легко узнать средствами языка PHP.
В PHP собранная сервером информация хранится в массиве $_SERVER, сюда входят данные о самом сервере, активной странице, и собственно о клиенте. Конкретно адрес клиента хранится в переменной REMOTE_ADDR, и если вы посетили страницу хакера, последний без труда вычислит ваш внешний IP:
<?PHP
echo 'Client ip: '. $_SERVER['REMOTE_ADDR'];
echo 'Client port: '. $_SERVER['REMOTE_PORT'];
echo 'Client dns: '. $_SERVER['REMOTE_HOST'];
?>
Как видно из примера, доступной также является информация о номере порта, через который браузер соединяется с веб-сервером и DNS имя клиента. Последнее узнается через "Rreverse DNS lookup", относительно IP адреса клиента. Допустим, мы получили следующий результат:
REMOTE_ADDR: 20.20.20.20
REMOTE_PORT: 37938
REMOTE_HOST: proxy.isp.com
Но что нам дает эта информация? Если разобраться, то не так уж и много. Для атаки на внутреннюю сеть, этих данных менее чем достаточно, ведь внешний IP скорее всего не имеет никакого отношения к компании. Вероятнее всего, адрес принадлежит компании предоставляющей доступ в Интернет…
В самом простом виде, схему подключения корпоративного пользователя, можно представить как цепь из 4-х систем:
Не считая систему клиента и сам веб-сервер (30.30.30.30), у нас остаются два участника: внутренний сервер компании и внешний сервер провайдера, предоставляющий доступ в Интернет. В прошлом примере мы узнали внешний адрес клиента, но это не его внутренний IP, это вероятнее всего адрес прокси-сервера провайдера. Можно делать догадки и точно определить его принадлежность, но такое расследование выходит за рамки этой статьи, мы же будем считать, что 20.20.20.20 это сервер ISP.
На этом наши поиски не закончились, продолжим изучать переменную $_SERVER.
Дата добавления: 2015-09-11; просмотров: 69 | Поможем написать вашу работу | Нарушение авторских прав |