[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Обход htmlspecialchars
Vano
Всем привет, есть ли какие то дыры в htmlspecialchars через которые можно хоть как то провести xss атаку - то есть чтоб текст не обработался и вывелся тэгом или js
Пример:
Изначально люди отправляют свои сообщения в чат - фильтрую mysql_real_escape_string и записываю в базу (защита от sql inj)

$text=mysql_real_escape_string($_POST['text']);
mysql_query("INSERT `chat` SET `name`='{$_SESSION['name']}', `words`='$words'");

Далее эти сообщения выводятся на все общее обозрение - фильтрую htmlspecialchars и вывожу

$chat1=mysql_query("SELECT * FROM `chat` ORDER BY `id` DESC LIMIT 100");
while($chat=mysql_fetch_array($chat1)){
$name=$chat['name'];//Имя отправителя можно не фильтровать так как оно было отфильтровано при регистрации - спец символы были все удалены кроме _-A-Za-zА-Яа-я
$text=$chat['text'];
$text=htmlspecialchars($text);
echo "Отправитель: $name<br/>
Сообщение:
$text";
//В $name возможна XSS? или SQL inj при удаление всего кроме _-A-Za-zА-Яа-я?
}

Может хоть как то можно обойти htmlspecialchars? и провести XSS атаку? если да то покажите ваши примеры обхода пожалуйста
Vano
Изначально люди отправляют свои сообщения в чат - фильтрую mysql_real_escape_string и записываю в базу (защита от sql inj)

$text=mysql_real_escape_string($_POST['text']);
mysql_query("INSERT `chat` SET `name`='{$_SESSION['name']}', `words`='$words'");

Вместо $words переменная $text
Быстрый ответ:

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