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

 
   
 

Главная


 


Метасимволы и проверка входных данных Единственной наиболее очевидной причиной существования более 90% всех изъя­ нов Web -приложений является недостаточная проверка корректности входных данных. Идея контроля передаваемых в качестве параметров данных далеко не но­ ва. В те времена, когда мы были студентами и писали программы на языке Fortran , как правило, наш руководитель сам выполнял необходимую проверку, прежде чем зачесть разработанную программу. Одна из таких программ должна была вычис­ лять натуральный логарифм числа. Ни одно из творений студентов не позволило получить правильный результат после ввода первого же значения нашим руково­ дителем — banana . Ведь программа ожидала на входе число! Передача программе неожиданных данных приводила к ее сбою и получению дампа оперативной памя­ ти. В те времена нас мало интересовала проверка входной информации. Запуск процесса xterm за счет "размещения" метасимволов и команд Unix в форму Web - страницы — это, пожалуй, квинтэссенция изысканных Web -атак, которые оказа­ лись возможными исключительно из-за слабой проверки входных данных. Использование в строке URL специальных символов В данный момент может возникнуть закономерный вопрос: "Что делать, если не­обходимо использовать символы I , ?, & или + как обычные, не учитывая их специаль­ ного назначения?" Например, допустим, что в строке запроса необходимо передать два параметра — book и shipping = snailmail . В этом случае URL будет выглядеть следующим образом: Приведенный URL является неоднозначным, поскольку в строке запроса содер­ жится три символа &. Скорее всего, Web -сервер разделит подобную строку на три па­ раметра вместо двух, а именно Если символ & необходимо передать как часть значения параметра, то можно вос­ пользоваться соглашениями, определенными в спецификации URL . Эти правила позво­ ляют представлять зарезервированные и специальные символы в двухбайтовом шсстна- дизтеричном формате ASCII , добавив в качестве префикса символ как показано ниже.

 

 

 

 

 

 
 

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 |