[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: htmlspecialchars
Romms
Ну-ка, знатоки php, кто найдёт дыру в коде?)
<?php
echo isset($_GET['text'])?htmlspecialchars($_GET['text']):'';
?>

дырка точно есть! smile.gif



Спустя 11 минут, 30 секунд (7.08.2010 - 21:35) Basili4 написал(а):
Romms
Кроме избыточности действий не какой уязвимости я не вижу.

Спустя 19 минут, 14 секунд (7.08.2010 - 21:54) Romms написал(а):
Поищи в сети...

ЗЫ. И в чём же проявляется избыточность действий, если ты считаешь что это уязвимость?

Спустя 19 минут, 29 секунд (7.08.2010 - 22:13) Basili4 написал(а):
в том что пробел тоже обрабатывается htmlspecialchars хотя и незачем.

Спустя 15 минут, 26 секунд (7.08.2010 - 22:29) Ice написал(а):
какой пробел

Спустя 1 минута, 38 секунд (7.08.2010 - 22:30) Basili4 написал(а):
этот :'' или там не пробел а пусто в любом случае не чего лишний раз функцию вызывать

Спустя 19 минут, 5 секунд (7.08.2010 - 22:49) Ice написал(а):
игра на спичках. Но избыточность конечно есть.

Спустя 2 часа, 38 минут, 45 секунд (8.08.2010 - 01:28) Guest написал(а):
Цитата (Romms @ 7.08.2010 - 18:23)
дырка точно есть! smile.gif

Кроме дырки в голове автора дырок не обнаружил
$str = isset($_GET['text']) ? htmlspecialchars($_GET['text']) : '';
echo $str;

Спустя 4 часа, 45 минут, 30 секунд (8.08.2010 - 06:14) Romms написал(а):
Basili4 согласен, щас исправлю)
Цитата
Кроме дырки в голове автора дырок не обнаружил

я думаю она, у вашей головы тоже есть... и не одна)) (у меня, например, 5: рот, в носе две, и уши) А у Вас?

плохо искал...

Спустя 43 минуты, 44 секунды (8.08.2010 - 06:57) Romms написал(а):
Guest, Увы но у Вас то есть ошибка.. laugh.gif laugh.gif laugh.gif
  echo (isset($_GET['text'])?htmlspecialchars($_GET['text']):'')." ";
echo memory_get_usage()."<br/>";

$str = isset($_GET['text']) ? htmlspecialchars($_GET['text']) : '';
echo $str." ";
echo memory_get_usage()."<br/>";

Спустя 4 часа, 22 минуты (8.08.2010 - 11:19) Joker написал(а):
Romms
Говори давай уже о дыре)

Спустя 3 часа, 5 минут, 10 секунд (8.08.2010 - 14:25) FatCat написал(а):
Лень проверять, жарко, но думаю, что eval можно протолкнуть и через него инклюд файла по http. А дальше через эту дыру можно уже делать что хочешь...

Спустя 2 часа, 43 минуты, 16 секунд (8.08.2010 - 17:08) Гость_Romms написал(а):
Joker, неспеши smile.gif
FatCat, можно счить, что дальше кода никакого нет(и перед этим впрочем тоже нету) rolleyes.gif

Спустя 9 минут, 11 секунд (8.08.2010 - 17:17) Joker написал(а):
Гость_Romms
извини но мне кажется что ты или выдумал это или просто непонимаешь что должно делаться при выполнении этого кода... возможно я ошибаюсь.

а если ты имеешь ввиду это типо дыра то ответ уже там есть, и это не актуально.

Спустя 14 часов, 12 минут, 34 секунды (9.08.2010 - 07:30) Romms написал(а):
Joker, не угадал)
Ну ладно... вижу что почти никто не интересуется... sad.gif

_http://yoursite.com?text[]=bug biggrin.gif

Правда баг нашли... и уже в версии 5.2 такое не покатит...

Спустя 5 минут, 26 секунд (9.08.2010 - 07:35) Michael написал(а):
А мы уязвимость то скрипта искали ...

Спустя 4 минуты, 11 секунд (9.08.2010 - 07:39) Basili4 написал(а):
Romms
а ссылка эта куда простите ??

Спустя 3 минуты, 57 секунд (9.08.2010 - 07:43) Romms написал(а):
На страницу где входные данные фильтруют с помощью htmlspecialchars...
(адрес сайта выдуман!!!)

----------------------

Не знаю почему, но в инэте все молчат про этот баг... Может этоту дыру хранили самые хитрые хацкеры? biggrin.gif

Спустя 11 часов, 9 минут, 5 секунд (9.08.2010 - 18:52) Guest написал(а):
Какое и что не покатит? Что имеется ввиду. Хоть и в четвертой версии запустить этот код ничего страшного не произойдет

Спустя 18 минут, 49 секунд (9.08.2010 - 19:11) Michael написал(а):
Цитата (Romms)
Не знаю почему, но в инэте все молчат про этот баг...

это не баг никакой. Просто в ТВОЕМ КОДЕ не учтено, что может поступить массив на вход, о чем htmlspecialchars и сообщит.

Спустя 1 час, 12 минут (9.08.2010 - 20:23) andyp написал(а):
Цитата (Michael @ 9.08.2010 - 16:11)
Цитата (Romms)
Не знаю почему, но в инэте все молчат про этот баг...

это не баг никакой. Просто в ТВОЕМ КОДЕ не учтено, что может поступить массив на вход, о чем htmlspecialchars и сообщит.

однозначно правильно

Спустя 10 часов, 42 минуты, 18 секунд (10.08.2010 - 07:05) Romms написал(а):
Guest, для злоумышленника это много чего даст...

Цитата (Michael @ 9.08.2010 - 18:11)
Цитата (Romms)
Не знаю почему, но в инэте все молчат про этот баг...

это не баг никакой. Просто в ТВОЕМ КОДЕ не учтено, что может поступить массив на вход, о чем htmlspecialchars и сообщит.

я тоже согласен wink.gif Вот только защита от такого встречается не очень часто sad.gif

Спустя 3 часа, 44 минуты, 38 секунд (10.08.2010 - 10:50) Guest написал(а):
Даст то же самое, что и при любом другом warning, не больше.

Просто надо всегда проверять входящие данные. Если кто-то это не делает, то это не проблема функции htmlspecialchars. Она кстати здесь работает так же как и другие строковые функции. Например, trim выдаст тоже warning, если ей передать array, и остальные то же самое.

Спустя 1 час, 15 минут, 50 секунд (10.08.2010 - 12:06) ZSH написал(а):
а зачем входящие данные фильтровать htmlspecialchars ???

Спустя 1 час, 14 минут, 11 секунд (10.08.2010 - 13:20) Guest написал(а):
Я и не писал, что нужно входящие данные фильтровать с помощью htmlspecialchars.

Их нужно проверять и обрабатывать, перед тем как использовать (записывать в БД, выводить в браузер и т.д.). В данном примере, данные не были проверены перед тем как были использованы, т.е. переданы в качестве аргумента в функцию htmlspecialchars.
Заменить в этом примере htmlspecialchars на trim, то будет тот же warning.


Если уже переводить этот вопрос в вопрос, когда нужно экранировать или удалять код html, при принятии данных от пользователя, или непосредственно при выводе в браузер, то это уже зависит от архитектуры приложения.

Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2025 Invision Power Services, Inc.