Разработка Веб-приложения

Автор работы: Пользователь скрыл имя, 02 Декабря 2013 в 09:30, доклад

Описание работы

Веб- приложения используют множество различных технологий для осуществления их функций. В этой главе содержится краткий учебник поключевым технологиям , что вы , вероятно, столкнутся при атаке веб-приложений. Рассмотрим протокол HTTP ,технологии , обычно используемые на
серверной и клиентской сторон, и схемы кодирования используются для представления данных в различных ситуациях. Эти технологии в целом легко понять , ипонимание их соответствующих функций имеет ключевое значение для выполнения эффективных атак против веб-приложений. Если вы уже знакомы с основными технологиями, используемыми в веб-приложениях , вы можете быстро пролистать эту главу, чтобы убедиться, что там нет ничего нового здесь для вас. Если вы все еще учимся , как веб- приложения будут работать , вам следует прочитать эту грунтовку перед продолжениемпоследующих главах на специфических уязвимостях .

Файлы: 1 файл

Веб рус.docx

— 22.92 Кб (Скачать файл)

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

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

Полное руководство Дэвида Гурли и Брайан Totty (O'Reilly , 2002).

Протокол HTTP

Hypertext Transfer Protocol (HTTP) является основной протокол связи, используемый для доступа к World Wide Web и используется во всех современных веб- приложений. Это простой протокол, который был первоначально разработан для получения статического текстовые ресурсы , и с тех пор были расширены и использованы в различных

способы позволяющий применять  его всложных распределенных приложений, которые в настоящее время

обычным делом.

HTTP использует на основе  сообщений модель, в которойклиент посылает сообщение с запросом ,

и сервер возвращает ответное сообщение . Протокол по существу

соединения : хотя HTTP использует динамическую Протокол TCP в качестве транспортного

Механизм , каждый обмен запросом и ответом являетсяавтономной транзакции ,

и может использовать другое соединение TCP .

HTTP-запросы

Все HTTP сообщения (запросы и ответы ) состоят из одного или более заголовков

каждый на отдельной строке , а затемобязательная пустая строка , а затем

дополнительно тело сообщения . Типичный запрос HTTP заключается в следующем:

GET / книги / search.asp ? Q = wahh HTTP/1.1

Принимают: Изображение / GIF , изображение / xxbitmap , изображение / JPEG , изображение / pjpeg ,

Приложение / xshockwaveflash , применение / vnd.msexcel ,

Приложение / vnd.mspowerpoint , применение / MSWord , * / *

Referer : http://wahh-app.com/books/default.asp

Accept-Language : EN -RU , EN-US ; Q = 0,5

Accept-Encoding : GZIP , выкачивают

User-Agent: Mozilla/4.0 ( совместимый ; MSIE 7.0 ; Windows NT 5.1 )

Ведущий: wahh - app.com

Cookie: LANG = EN ; JSESSIONID = 0000tI8rk7joMx44S2Uu85nSWc_ : vsnlc502

В первой строке каждого  запроса HTTP состоит из трех элементов , разделенных

пространств :

■ ■глагола с указанием  метода HTTP. Наиболее часто используемый метод

это получить , функция которых состоит в полученииресурсов от веб-сервера . GET

запросы не имеют тело сообщения , так что нет никаких дополнительных данных после

пустую строку после заголовков сообщений .

■ ■ Запрашиваемая страница . URL функционирует как имя ресурса

запрашивается , вместе с дополнительной строкой запроса, содержащего

параметров , что клиент переходит к этому ресурсу. Строка запроса

указанном ? символ в URL , и в этом примере есть

единственный параметр с Q имя и значение wahh .

■ ■версии HTTP используются. Единственное HTTP версии в общем пользовании

в Интернете, 1.0 и 1.1 , и большинство  браузеров использовать версию 1.1,

умолчанию. Есть несколько  отличий между спецификациями этих

две версии , однако , единственная разница, которую вы , вероятно, столкнутся

при атаке веб-приложений является то, что в версии 1.1запрос хоста

заголовок является обязательным.

Некоторые другие достопримечательности  в примере запроса являются:

■ ■Referer заголовок используется для указания URL , из которого запрос

возникла (например, потому, что пользователь нажал на ссылку на этой странице ) .

Обратите внимание, что  этот заголовок был ошибкой в  оригинальной спецификации HTTP,

и с ошибкой версия была сохранена до сих пор.

■ ■User-Agent заголовка используется для предоставления информации о

браузер или другое клиентское программное обеспечение, генерируется запрос. Обратите внимание, что

Mozilla префикса включает в себя большинство браузеров по историческим причинам -

это был User-Agent строку, используемую изначально доминирующую Net -

пейзаж браузера , и другие браузеры хотели утверждать на веб- сайтах, которые

они были совместимы с этим стандартом. Как и во многих из причуд

вычисления истории, он стал настолько установлено, что он по-прежнему сохраняется,

даже на текущей версии Internet Explorer , который сделал

запросить показано в примере .

■ ■ заголовок узла используется для указания имени хоста , который появился в

полный URL осуществляется доступ. Это необходимо, когда несколько  веб-сайты

размещенных на одном сервере , так как URL отправлены в первой строке

Запрос правило, не содержит имя хоста. (См. главу 16 для

Дополнительную информацию о практически состоялась веб-сайты. )

■ ■Cookie заголовка используется для передачи дополнительных параметров, которые

сервер выдал клиенту  ( более подробно описано ниже в данном

главы).

HTTP Ответы

Типичный ответ HTTP заключается  в следующем:

HTTP/1.1 200 OK

Дата : Сб , 19 мая 2007 13:49:37 GMT

Сервер: IBM_HTTP_SERVER/1.3.26.2 Apache/1.3.26 (Unix)

Set-Cookie : отслеживание = tI8rk7joMx44S2Uu85nSWc

Pragma : No- кэша

Expires: Thu , 01 Jan 1970 00:00:00 GMT

Content-Type: текст / HTML , кодировка = ISO-8859- 1

Content-Language : EN-US

Content-Length: 24246

< DOCTYPE HTML PUBLIC " - / / W3C / / DTD HTML 4.01 Transitional / / EN ">

<html lang="en">

<head>

< мета HTTP -экв = " Content-Type" содержание = " текст / HTML ;

= кодировка ISO-8859- 1 ">

...

В первой строке каждого  ответа HTTP состоит из трех элементов , разделенных

пространств :

■ ■версии HTTP используются.

■ ■цифровой код статуса  указывающийрезультат запроса . 200

Наиболее распространенным кодом состояния , а это означает , что запрос был успешным и

запрошенный ресурс возвращается .

■ ■текстовым " Причина  фразу " дальнейшее описывающие статус ответа .

Это может иметь любые  значения и не используется для любой  цели на текущий

браузеров.

Некоторые другие достопримечательности  в предыдущем ответе , являются:

■ ■Сервер заголовок  содержитбаннер с указанием программного обеспечения веб-сервера

используется, а иногда и  другие детали, такие как установленные  модули

исерверной операционной системы . Информация, содержащаяся в мае или

не может быть точным .

■ ■Set-Cookie заголовка выдает браузердальнейшего печенья ; эта воля

быть представлен еще в заголовке Cookie последующих запросах к этому

сервера.

■ ■Pragma заголовок инструктирует браузер не хранить ответ

в своем кэше , а также Expires заголовок указывает, что ответ

Содержание истек в  прошлом, и так не должно быть в  кэш. Эти инструкции

часто выдается, когда динамический контент возвращается , чтобы

убедиться, что браузеры получить свежую версию этого контента на последующее

случаев.

■ ■ Почти все HTTP ответы содержат тело сообщения после пустой

строку после заголовков иContent-Type заголовка указывает, что

Тело этого сообщения  содержитHTML документа.

■ ■Content-Length заголовок указывает длину тела сообщения в

байтов.

Методы HTTP

Когда вы атакуете веб-приложений , вы будете иметь дело почти исключительно

с наиболее часто используемых методов : GET и POST. Есть некоторые

важные различия между  этими методами, которые вы должны быть в курсе,

и которые могут повлиять на безопасностьприложения , если упускается из виду.

GET Метод предназначен  для извлечения ресурсов. Он может  быть использован для отправки

Параметры к запрошенному ресурсу в строке запроса URL. Это  позволяет пользователям

добавить в закладки URL для динамического ресурса, который  может быть повторно использован  самостоятельно или

других пользователей , чтобы получить эквивалентную ресурса напоследующем случае (как и в

закладкой поисковый запрос ) . URL-адреса отображаются на экране , и вошли в систему

различных местах, таких  какисторию браузера и доступа к веб- сервера журналов.

Они также передаются в  заголовке Referer на другие сайты , когда внешние

Ссылки следуют. По этим причинам , строка запроса не должны использоваться для

передавать любую конфиденциальную информацию.

POST метод предназначен  для выполнения действий . С помощью этого метода

параметры запроса могут  быть отправлены как в строке запроса URL и в теле

в сообщении. Хотя URL все еще  может быть закладкой , все параметры

отправлен в теле сообщения , будут исключены из закладки. Эти параметры

также будут исключены  из различных местах , в которых журналов URL, являются

поддерживается и из заголовка  Referer . Поскольку метод POST

предназначен для выполнения действий , если пользователь нажимает кнопку Назадбраузера

вернуться к странице, которая  была с помощью этого метода , браузер не будет

автоматически повторно послать  запрос , но предупредит пользователя о том, что он собирается

делают, как показано на рисунке 3-1. Это позволяет предотвратить  невольно выполнения

действия более одного раза. По этой причине , POST запросы всегда должны использоваться

когда действие выполняется.


Информация о работе Разработка Веб-приложения