SEOSERVISE - Защита сайтов от хакеров, защита от взлома.

 
   
 

Главная


 


Программа print-query.cgi написана на языке Perl. Функция ReadParse ( ) опреде­лена в библиотеке Perl cgi - lib . pl , в которой содержатся стандартные процедуры об­ работки, поддерживающие интерфейс CGI . Все параметры, передаваемые сценарию print - query . cgi , хранятся в ассоциативном массиве input . В цикле foreach итеративно перебираются и выводятся на печать все пары "имя параметра/значение" этого ассо­циативного массива. При запуске сценария print - query . cgi Web -сервером устанавли­ вается переменная окружения REQUEST METHOD . В качестве значения этой переменной может использоваться либо GET , либо TOST . Посмотрим, что произойдет, если некоторые данные ввести в каждую из форм страницы form _ elements . html , а затем передать их сначала с помощью метода GET , а за­ тем POST . На рис. 5.5 показано, какие данные вводятся в эти формы. Итак, что же произойдет, если данные формы передать с помощью запроса GET ? На рис. 5.6 показаны результаты, которые сервер вернул обратно в броузер. Посмотрим на адресную строку в окне броузера, показанном на рис. 5.6. Несмотря на то что отображается только часть URL , видно, что все введенные данные после ко­ дирования были отправлены на Web -сервер в строке запроса URL . Передаваемый на сервер U RL имеет следующий вид: В заголовке Content - type указывается тип содержимого, передаваемого в запросе. Как правило, для форм HTML в заголовке Content - type используется значение / x - vwv - forn - urlencoded , т.е. входные данные кодируются с использованием стандартного формата кодирования URL . В заголовке Content - length содержится длина передавае­ мых данных в байтах. Метод POST позволяет передавать серверному приложению данные большого объе­ ма, следовательно, ограниченная по длине строка запроса URL в этом случае уже не используется. Строка Content - length в заголовке HTTP является последней, после ко­ торой серверу передается пустая строка. Все, что передается за этой строкой, и пред­ ставляет собой входные данные, закодированные в формате URL . Как и в запросе GET , при использовании метода POST содержимое поля пароля и скрытого поля передается в виде незашифрованного текста. Разница заключается лишь в том, что эти данные не передаются как часть строки URL . Адрес URL — это крошечная дверца для входа во внутренний механизм Web - сервера, которая позволяет свести на нет усилия всех брандмауэров, систем выявле­ния вторжений ( IDS ) и proxy -серверов. Пользователи вынуждены пропускать через свои брандмауэры весь трафик, направленный к портам 80 ( HTTP ) и 443 ( SSL ). Воз­можно, нельзя предусмотреть все комбинации недопустимых URL и изобрести сигна­ туру IDS или proxy -фильтр, которые позволят защититься от атак через эти порты. По существу, все технологии борьбы с кибсртсррорнзмом в Web , могут оказаться беспо­ лезными, когда дело касается Web -атак. Чтобы помочь распознать изъяны, в данной главе обсуждалась структура URL , механизмы передачи параметров между Web - броузером и сервером, система кодирования URL , потенциальные возможности ее некорректного использования и, наконец, формы HTML .

 

 

 

 

 

 
 

1 |2 |3 |4 |5 |6 |7 |8 |9 |10 |11 |12 |13 |14 |15 |16 |17 |18 |19 |20 |21 |22 |23 |24 |25 |26 |27 |28 |29 |30 |31 |32 |33 |34 |35 |36 |37 |38 |39 |40 |41 |42 |43 |44 |45 |46 |47 |48 |49 |50 |51 |52 |53 |54 |55 |56 |57 |58 |59 |60 |61 |62 |63 |64 |65 |66 |67 |68 |69 |70 |71 |72 |73 |74 |75 |76 |77 |78 |79 |80 |81 |82 |83 |84 |85 |86 |87 |88 |89 |90 |91 |92 |93 |94 |95 |96 |97 |98 |99 |100 |