Вступление. Как-то мне понадобилось поискать на Софтодроме програмку название которой нашел в поисковике(Гугл). Скопировал строчку, вставил в строку поиска Софтодрома. Найти. Результат удивил настолько что забыл что я что-то искал. Удивил странностями вида результата. Я видел ТЕГИ хотя знал что этого не может быть. Тем более было странно что сайт очень извесный и популярный. Стал исследовать и вывел (как мне кажется) закономерность. Если в строке поиска на сайте Softodrom.ru ввести "a a f" (без кавычек, можно не b b ... (одинаковые буквы через пробел) и вместо f любую букву, слово лишь бы поиск нашел что-то), то результат выводится с ошибкой там появляются теги. Продолжая колупать нашел такую комбинацию "a /d a" (без кавычек) выдает такое Warning: preg_replace() [function.preg-replace]: Unknown modifier 'd' in /usr/home/softodrom.ru/www/scr/seeknew.php on line 570 Вопрос, это дырка или так должно быть? Хотя если должно то как искать "а а f"? Дальше я пробовал разное но моих знаний по регулярным выражением недостаточно, хотя... я знаю если в функции preg_replace() использовать модификатор /е то второй параметр функция воспринимает как код ПХП, а это наводит на мысли что можно выполнить какой то код на серевере, а может и нет незнаю. Опасно ли это для сайта? Прокоментируйте пожалуйста все вот это. Моих знаний (2 месяца ПХП и 2 недели регулярных выражений) не хватает для ответа на вопрос "Дырка это или нет?" З.Ы. Извините за много писанины. Впервые пишу в форум. З.З.Ы. А еще умудрился вставить картинку Гугля в то место страницы где написсано "Результаты поиска: искали _КАРТИНКА_ (не надпись а рисунок). Для этого использовал такую строчку в поиске "а а <IMG SRC="http://www.google.com/intl/ru_ALL/images/logo.gif">а а" (без внешних кавычек).
Я не могу. Да можно и просто /d ввести, и тоже самое будет ))). А так молодец. Да, там че угодно можно ввести он это выплюнет: Например <font size="+10">Всем привет!</font> И алерт в поиске какой-то вылетает... Code: <image src=/img/logo.png onload=alert('documentov.cookie_net\n:):):):):)')>
вот тут на примере phpbb показана бага при включиение модификатора 'e' в регулярном выражение http://forum.antichat.ru/threadnav20191-1-10.html
Может я покажусь нахалом но немог бы кто нибудь зайти на обсуждаемый сайт (Софтодром). У меня не заходит, может его отключили после нашего общения, а может совпало и просто отключили. Если не зайдете, ответте с чем связано, неужели с обсуждением? А я копаю дальше терретичискую сторону функции preg_replace и работу с карманами. Если все таки дырка как мне ответил уважаемый Little_W, то насколько опасна? И спасибо за ссылку pop_kornу, читаю и учусь.
Red_Red опасность низкая- пасивная XSS, в лучшем случае ты угониш куки но неполучиш доступа в админку. Ну даже получить куки админа на софтодроме это уже чего стоит, я б там им вирей место новостей то понакидал! =) И кстати ща софтодром что то неработает, причина- хз !