1.1 Атака на WEB-сервера
Любое дело должно начинаться с постановки задачи. Так и для взломщика: формируется цель, а уже потом формируется план действий, по которому эта цель будет достигаться. Предположим, что конечной целью для атакующего является получение прав администратора на каком-то форуме – это его конечная цель. Для получения администраторских прав ему требуется провести анализ форума, найти уязвимые места, определить методы и средства, которыми можно будет или взломать форум и получить права администратора, либо просто заполучить пароль средствами НЛП.
Как мы видим, будет существовать несколько видов атак на WEB-приложения. Это связано с разными типами уязвимостей.
1.1.1 Уязвимость в скриптах
Данный тип уязвимости связан с наличием на сайтах динамического содержимого.
Динамическое содержимое – реакция системы на изменение её внешних условий. К внешним условиям относятся GET, POST запросы и cookies.
Статические сайты соответственно будут неуязвимы к атакам на скрипты, но это не обозначает их полную неуязвимость. Доступ к такому сайту можно будет получить, проведя атаку по захвату сервера, на котором физически находится данный сайт. Это возможно в случае использования уязвимостей программного обеспечения установленного на сервере или через атаку на другой сайт, который физически расположен на той же системе.
Тем самым мы видим, что написание безопасных скриптов ( безопасным считается тот скрипт, который документировано реагирует на изменение внешних параметров) закроет данную уязвимость. Но найти ошибки в скриптах – это непростая задача. Ведь программа может отлично работать, выполнять свои функции. Но если изменить условия тестирования и передавать параметры, на работу с которыми система не рассчитана. В таком случае реакция системы будет неоднозначной. И эта неоднозначность является уязвимостью. Самым главным для нападающего является правильное использование этих «недокументированных возможностей».
Большинство WEB-приложений в Интернете написаны на РНР либо Perl с использованием MySQL.
1.1.1.1 РНР
PHP был создан осенью 1994 года Расмусом Лердорфом на языке Perl. Вскоре выяснилось, что оболочка обладает небольшой производительностью, и пришлось переписать ее заново, но уже на языке Си. После этого исходники были выложены на всеобщее обозрение для исправления ошибок и дополнения. PHP стал применяться в трёх основных направлениях:
- создание приложений, которые исполняются на стороне сервера (скриптов);
- создание скриптов, выполняющихся в командной строке;
- создание GUI-приложений (графических интерфейсов), выполняющихся на стороне клиента.
Нас будет интересовать на данном этапе первое направление.
Создадим скрипт, который будет выводить в браузер содержимое *.txt – файлов, которые будут храниться в каталоге вашего WEB-сервера в папке /php/txt/. При этом названия файлов – это числовые значения, которые передаёт вам пользователь сайта.
Tags: ту би континью.....
Current Mood: жгу=)