Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
MySQL на примерах. Авторы: Кузнецов М.В., Симдянов И.В. PHP на примерах (2 издание). Авторы: Кузнецов М.В., Симдянов И.В. Объектно-ориентированное программирование на PHP. Авторы: Кузнецов М.В., Симдянов И.В. Самоучитель MySQL 5. Авторы: Кузнецов М.В., Симдянов И.В. PHP Puzzles. Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум PHP

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: XSS и UTF-7
 
 автор: serjinio   (13.09.2008 в 19:19)   письмо автору
 
 

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


Отдельно стоит упомянуть использование для XSS-атаки скриптов, написанных в кодировке UTF-7. Эта кодировка замечательна тем, что угловые скобки в ней записываются как «+ADw-» и «+AD4-» и, стало быть, пропускаются функцией htmlspecialchars нетронутыми. Если браузер пользователя настроен на автоопределение кодировки, а ни в заголовках, ни на странице в теге <meta> до любого контента не прописано кодировки, браузер, встретив в контенте характерные для UTF-7-кодировки символы, переключится в эту кодировку и выполнит код.

Например, у нас на форуме название темы идет в тег <title>, секция <head> документов начинается таким образом:

<title>MegaForum - название темы</title>
<meta http-equiv="Content-Type" content="text/html; charset=windows-1251" />


Кодировка прописана, но, к сожалению, уже после вывода поступившего от посетителя названия в <title>. И если он, к примеру, назовет тему

+ADw-/title+AD4APA-script+AD4-скрипт+ADsAPA-/script+AD4-


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

<title>MegaForum - </title><script>скрипт</script>


Последствия, думаю, очевидны. А вся проблема из-за того, что <meta> с указанием кодировки не стояла перед <title>.

  Ответить  
 
 автор: Trianon   (13.09.2008 в 21:10)   письмо автору
 
   для: serjinio   (13.09.2008 в 19:19)
 

Должным образом кодировка прописывается отнюдь не в meta.
А в поле Content-type заголовка ответа сервера.
Туда она попадает из директивы апача addDefaultCharset (или из явного вызова header())

  Ответить  
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования