Вопрос к знающим: Почему в некоторых системах прокатывают строки типа \x3cfont color=#800080\x3e 123 \x3c/font\x3e И преобразуются в нормальный ХТМЛ? На каком этапе это происходит? Пордозреваю что это какие то уязвимости на уровне ПХП, но какие именно?
Наверное потому что в любом чате стоит фильтр на символ < а \x3c тоже он но в другой кодировке есть ещё замена < такая \74 .
Потому что в каждом чате есть как сказала ветер свой фильтр!!! вот типа таких $ff =~ s/</\&lt;/g; $ff =~ s/>/\&gt;/g; данное как видишь покаывает что в переменную $ff занесены символы <,&lt; которые буду запрещены в чате или просто выводитса так как они есть!!! \x3c - как сказал ветер "x3c тоже он но в другой кодировке есть ещё замена < такая \74" - нивкакой он не в другой кодировке, он в своей кодировке вообщето... просто у каждого символа есть свой код 2-ый -8-ый 10-ый и т.д. так вот это и есть его код знака <. < - \x3c > - \x3e ; - \x3b : - \x3a
А преобразоввание происходит аналогично как и хтмл запросу тоесть например А,Б,В,Г как преобразует в В %F0, %B0, %C0 ну и т.д. аналогично с тем символом!!!
никто специально не приобразует \x3c в < это скорее всего cgi баг, такой же как и нуль-байт обрубающий строку это ведь обычная СИ-последовательность так как perl и php (только если php установлен НЕ как модуль к апатчу) написаны на СИ это и происходит я конечно не уверен, но так думаю! для проверке в таком чате можно попробовать и символы новой строки \n и нуливой символ \0