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

 
   
 

Главная


 


Каким же образом код icOtaf преобразуется в символ /? Для этого нужно разо­ браться с тем, как сконструировать некорректное представление в формате Unicode . Кодом ASCII символа / в шестнадцатеричном представлении является 2 F , а в двоичном формате — 00101111. Стандарт кодирования Unicode (или, точнее, стандарт UTF -8) обеспечивает представление более 256 символов, а следовательно, позволяет исполь­ зовать для их кодирования более 8 бит. Корректное представление кода 2 F в формате UTF -8 по-прежнему выглядит как 2 F . Однако этот код можно представить и с ис­ пользованием многобайтового представления UTF -8 Символ / может быть пред­ ставлен в одно-, двух- и трехбайтовом формате UTF -8 следующим образом. Здесь символы х представляют битовую маску кодируемого символа (справа налево). Таким образом, двухбайтовым представлением символа / в формате UTF -8 является СО AF . В URL он представлен как два шестнадцатеричных символа В спецификации UTF -8 указано, что "модуль декодирования UTF -8 не должен разрешать использование последовательностей UTF -8, длина которых больше, чем необходимо для кодирования символа. Любая слишком длинная последовательность UTF -8 может быть использована для достижения неблаговидных целей и обхода ме­ ханизма обнаружения подстрок, предназначенного для поиска максимально короткой последовательности UTF -8 из числа возможных". Разработчики сервера IIS упустили из виду это требование. В результате данный изъян позволил тысячам хакеров запус­кать на серверах IIS произвольные команды. Эта атака срабатьшает также и при использовании трехбайтового кода UTF -8. Сле­ дующий URL эквивалентен приведенному выше Для получения более подробной информации о проблемах кодирования в форма­ тах Unicode и UTF -8 можно обратиться к соответствующему разделу FAQ по адресу

 

 

 

 

 

 
 

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 |