Всем привет!
Пожалуйста оцените свежий сервис - Мем генератор :)
Скрипт писал сам, после всех апгрейдов он умеет:
- накладывать текст "на лету" (в GET-запросе можно любой текст),
- два поля наложения по 18 символов (больше - вылезает за поля),
- выбор разных фонов для мема (сейчас 48),
- топ последних мемов (9 последних просмотренных),
- выдача ссылки для размещения в 4 форматах (прямой путь к картинке, bb-ссылка, html-ссылка, ссылка на страницу).
PHP знаю на базовом уровне, поэтому, видимо, есть проблемы в безопасности. Если видите такие "дыры" - пожалуйста скажите :)
Пара примеров того, что генератор умеет делать:
Заранее большое спасибо за отзывы и баг-репорты! :)
Оцените генератор мемов Memino.ru (юзабилити, глюки, дыры)
(Ответов: 15, Просмотров: 2403)
- 06.04.2012 16:07
- 06.04.2012 16:17
прикольный ресурс
активная xss
Скрытый текст (вы должны войти под своим логином или зарегистрироваться и иметь 30 сообщение(ий)):У вас нет прав чтобы видеть скрытый текст, содержащийся здесь.Спасибо сказали:
yabuti(06.04.2012), - 06.04.2012 16:58
parserrf, спасибо! :)
php очень слабо знаю, как уже говорил, на сайте верстку поломали уже ))
внедрил какую-то защиту от XSS, но абракадабра все-равно проходит, буду исправлять.
Большое спасибо за баг-репорт! :)
Вот такую штуку нашел, мега-конструкция:Скрытый текст (вы должны войти под своим логином или зарегистрироваться и иметь 30 сообщение(ий)):У вас нет прав чтобы видеть скрытый текст, содержащийся здесь.
В качестве защиты добавил чистку получаемых данных функцией strip_tags - хватит ее или нужно что-нибудь другое?
Спасибо!
P.S. Обучение php в условиях реальных атак )))Последний раз редактировалось yabuti; 06.04.2012 в 17:08.
- 06.04.2012 18:09
у вас при просмотре мема он записывается в последние
т.е. если 9 раз нажать f5 на странице, то всю ленту новых мемов можно забить своим мемом
можно вставить любую картинку для просмотра например
http://memino.ru/img.php?bgpath=http...D0%A2+%2818%29
да и вообще, не правильно каждый раз генерировать картинку. я бы сделал генерирование один раз, сохранение на жестком и потом показывать только эту картинку по уникальному IDСпасибо сказали:
yabuti(06.04.2012), - 06.04.2012 18:13Скрытый текст (вы должны войти под своим логином или зарегистрироваться и иметь 30 сообщение(ий)):У вас нет прав чтобы видеть скрытый текст, содержащийся здесь.
И на главной такая ересь получается. Фильтровать нужно кавычки (или экранировать, если уж они нужны), и всяческие спецсимволы. А у вас получается, что вы напрямую выполняете то, что принимаете от пользователя.Последний раз редактировалось Crasher69; 06.04.2012 в 18:28.
Спасибо сказали:
yabuti(06.04.2012), - 06.04.2012 18:56
Попробовал создать мем, но получил "Удаленный сервер или файл не найден".
Спасибо сказали:
yabuti(06.04.2012), - 06.04.2012 19:29
parserrf, большое спасибо за баг!
Но я не знаю, как можно защититься от использования другой картинки.
Сейчас такая конструкция в img.php:Код:Если не отнимет много времени, parserrf, пожалуйста подскажите, как можно сделать защиту для использования картинок только у себя?$img = $_GET['bgpath']; // фоновое изображение $img = strip_tags($img);
Про перезапись на Главной - это да, но там такой механизм, что циклически последние 9 из базы берутся (текстового файла). Вообще это не очень мешает, т.к. сервис именно для создания нужного мема и публикации его где-то, а на сайте поправлю позже, с защитой от XSS нужно разобраться :)
Crasher69, также огромное спасибо за ценный совет!
Перепробовал несколько функций чистки от спецсимволов, потом взял просто сделал preg_match('/[А-Яа-я0-9]/',$string). И все, теперь <alert, XSS, "> и прочие абракадабры не проходят, а если ввести что-то на английском - выдаст предупреждение
Это, конечно, полумера, но я PHP практически не знаю, починил, буду разбираться как сделать грамотно.
Просто этой мой первый опыт программирования, хорошо, что сразу выявились ошибки, а Вам, ребята, большое спасибо за профессиональную помощь, очень помогли!
---------- Сообщение добавлено 20:27 ---------- Предыдущее 20:25 ----------
oleg_ug, пожалуйста попробуйте еще раз создать - на этот раз все будет норм.
Я просто чинил от атак, правил код, базу чистил от абракадабры, мог в этот момент перезаливать и выскочила ошибка.
---------- Сообщение добавлено 20:29 ---------- Предыдущее 20:27 ----------
Блин, это что-то нереальное!
Я же задал обработку:Код:А текст "ТАК - > /DEV/NULL" - проходит!preg_match('/[А-Яа-я0-9]/',$string
Как они это делают? О_О
- 06.04.2012 19:45
через запрос гет любые символы пропускает ... надо же их проверять .... когда из глобального массива гет пришли... обрезать...
и последнее если жать f5 находяться в картинке - то он посылает заново запрос серверу и он создает такую же дубль тоже убрать надо
ЭЭЭ сорри господа мастера, не прочел начало текста :) не в тему... ((Последний раз редактировалось evpatiy; 06.04.2012 в 19:48.
Спасибо сказали:
yabuti(06.04.2012), - 06.04.2012 19:50
Неплохой ресурс, была бы возможность настраивать фон и картинку задавать, было бы вообще шикарно! :)
з.ы Если ввести знак вопроса или восклицательный знак можно "собирать предметы первой необходимости и никуда не уходить" :)Последний раз редактировалось zambrotta04; 06.04.2012 в 20:05.
- 06.04.2012 20:19
evpatiy, вроде xss и кракозяблы прекратились, поставил ограничение на ввод кириллицей.
evpatiy, с проверкой на дублирование борюсь, перепробовал варианты, не получается.
У меня такой код для записи очередной строки в файл-базу:
Код:Пробовал добавлять$zapis = "http://memino.ru/img/".$filename."|".$overtext."|".$overtext2."|"."\r\n"; $fh = fopen("baza.txt", "a"); fwrite($fh, $zapis); fclose($fh);Код:- вообще перестает работать.$fh = array_map('trim', $fh); if (array_search($zapis, $fh) !== false) die('Уже в каталоге!');
Если не тяжело, подскажите механизм проверки на дублирование перед записью :)
Заранее большое спасибо!
zambrotta04, загрузку собственных картинок подключу, спасибо за хорошую мысль!
Тэги топика:
Похожие темы
| Темы | Раздел | Ответов | Последний пост |
|---|---|---|---|
Оцените юзабилити и дизайн аниме сайта narutoclub.ru | Оценка ваших сайтов, блогов | 14 | 05.09.2012 00:08 |
Rotapost - новогодние глюки | Биржи ссылок и статей, seo-сервисы | 3 | 25.12.2011 18:54 |
Rotapost - новогодние глюки | Вопросы от новичков | 3 | 25.12.2011 18:54 |
Глюки Я.метрики | Поисковые системы | 12 | 24.08.2011 17:43 |
Генератор русских фамилий, имён и отчеств (ФИО-генератор) | Софт, скрипты, сервисы | 16 | 29.07.2010 14:36 |









