|
|
|
| вопрос такого плана
возможно ли с помощью визуальных редакторов типо FCKeditor или TinyMCE повесить эксплоит?
и вообще как происходит XSS атака?
если можно по подробней | |
|
|
|
|
|
|
|
для: Ressfourt
(21.09.2006 в 21:25)
| | XSS-атака, это вставка JavaScript или HTML-кода между другим кодом. Например если бы на форуме, не произовдилась обработка текста сообщений при помощи функции htmlspecialchars(), любой, кто запостил бы редирект
<HTML><HEAD>
<META HTTP-EQUIV='Refresh' CONTENT='0; URL=http://www.mysite.ru'>
</HEAD></HTML>
|
мог бы переправлять посетителей на свой сайт, а если в GET-параметре он ещё и cookie пересылал бы, то была бы возможность собирать пароли посетителей. В общем XSS-атака, это когда злоумышленик имеет возможность выполнять JavaScript или HTML-код на сайте не имея возможности для прямого редактирования HTML-кода. | |
|
|
|
|
|
|
|
для: cheops
(21.09.2006 в 21:48)
| | кхм ну в приницие оба редактора имеют защиту от вставки яваскрипта но все таки прийдется писать рег. выражение для удаление тех или иных тегов | |
|
|
|
|
|
|
|
для: Ressfourt
(21.09.2006 в 21:50)
| | Нет, если пользователь сам себя редиректит куда-то - ничего страшного, страшно, когда текст с XSS-вставкой выводится на всеобщее обозрение. Чтобы предотвратить выполнение XSS-атаки, достаточно весь текст, который выводится из базы данных, файлов и которые вводят посетители перед выводом на страницы сайта пропускать через функцию htmlspecialchars().
<?php
echo htmlspecialchars($text);
?>
|
| |
|
|
|
|
|
|
|
для: cheops
(21.09.2006 в 21:54)
| | весь текст который вводят пользователи идет через визуальный редактор FCKeditor после я его перевожу в формат ASCII ну и естественно заношу в БД а оттуда вывожу | |
|
|
|
|
|
|
|
для: Ressfourt
(21.09.2006 в 22:25)
| | Хм. а еще можно вырезать все теги функцией strip_tags и заставить пользоватся BBCod ом
и еще удалять некоторые опасные символы кавычки например что бы sql injection не смог пролезть, и при записи в базу использовать функцию mysql_escape_string
от sql injection лучше юзать placeholder-ы
НЕ ТАК
sql=("SELECT * FROM tadle WHERE a='$a' AND b='$b'");//код изначально дырявый
а вот так
sql=('SELECT * FROM table WHERE a=? AND b=?', $a, $b);//вопросы это и есть placeholder
защита организована на уровне базы | |
|
|
|
|
|
|
|
для: indexer
(21.09.2006 в 22:30)
| | Многим уже настолько надоели эти ББ коды уххх... поэтому я и ввел Виз. Редактор ... доволно просто и удобно и народ будет доволен
правда есть одно но при выводе из базы данных на сайт я использую функцию html_entity_decode для отображения | |
|
|
|
|
|
|
|
для: Ressfourt
(21.09.2006 в 22:32)
| | Хм WYSIWYG ов много понаписано ну а как пользователь будет постить если у него например OPERA7.00 или 7.5 JavaScript WYSIWYGа она не сможет поддержать, что уж там говорить о комуникаторах и мобилах. И что в таких случаях выводить? Извините вы не можете? А некоторые специально отключают java, Flash всплывающие окна (у меня например даже картинки отключены)
И подключить его бывает достаточно сложно например в шаблонизатор SMARTY придется практически весь код либо подключать отдельным файлом либо переписывать под теги smarty.
Так что использование его окутано мраком и не всегда себя оправдывает, это лично мое мнение.
уж лучше я пока по старинке BBкодом. Потому как универсально. | |
|
|
|
|
|
|
|
для: indexer
(21.09.2006 в 22:30)
| | strip_tags - довольно глючная штука. Я бы не рекомендовал ее использовать без особой на то необходимости:
<?
$test="А все потому что 2<3 вот так!";
echo strip_tags($test); // выведет "А все потому что 2"
?>
|
| |
|
|
|
|
|
|
|
для: Ressfourt
(21.09.2006 в 22:25)
| | >весь текст который вводят пользователи идет через визуальный редактор FCKeditor после я его
>перевожу в формат ASCII ну и естественно заношу в БД а оттуда вывожу
Непосредственно перед выводом следует использовать htmlspecialchars(). | |
|
|
|
|
|
|
|
для: cheops
(22.09.2006 в 12:14)
| | да но если использовать htmlspecialchars() перед выводом тогда теряется смысл использования Визуально редактора так как функция все тэги преобразует в ASCII
если можно расскажите какие Теги и как может произойти ввод эксплоита и может кто подскажет рег.выражения для нахождение и удаления эксплоита при вводе | |
|
|
|
|
|
|
|
для: Ressfourt
(22.09.2006 в 19:23)
| | Тогда можно действительно использовать функцию strig_tags() - она позволяет явно указать тэги, которые не нужно удалять. | |
|
|
|
|
|
|
|
для: cheops
(22.09.2006 в 20:44)
| | Спасибо всем я нашел решение как хотябы на 50% не допустить эксплоит
HTML_SAFE в pear.php.net | |
|
|
|