Форум русской поддержки Joomla!® CMS
03.12.2016, 21:38:17 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

Войти
   
   Начало   Поиск Joomla 3.0 FAQ Joomla 2.5 FAQ Joomla 1.5 FAQ Правила форума Новости Joomla Реклама Войти Регистрация Помощь  
Страниц: [1]   Вниз
  Добавить закладку  |  Печать  
Автор

Лезет спам и создает объявления без названия

 (Прочитано 956 раз)
0 Пользователей и 1 Гость смотрят эту тему.
Sergey2
Завсегдатай
*****

Репутация: +15/-1
Offline Offline

Сообщений: 660


« : 10.09.2015, 00:41:49 »

В настройках стоит что название - обязательное поле. И когда я пытаюсь создать объявление - мне грят, мол, нужно ввести. При этом иногда пролазиет спам и создает обьявления без темы. Как ему это удается?
Записан
SeBun
Практически профи
*******

Репутация: +134/-3
Offline Offline

Пол: Мужской
Сообщений: 2271



« Ответ #1 : 10.09.2015, 10:48:28 »

Запись в базу в обход скриптов.
Записан
draff
Практически профи
*******

Репутация: +161/-5
Offline Offline

Пол: Мужской
Сообщений: 2650


step by step


« Ответ #2 : 10.09.2015, 12:31:00 »

уязвимость  AdsManager
https://revisium.com/ru/blog/adsmanager_afu.html
Записан
max_1985
Завсегдатай
*****

Репутация: +55/-0
Offline Offline

Сообщений: 598



« Ответ #3 : 10.09.2015, 12:33:59 »

В настройках стоит что название - обязательное поле. И когда я пытаюсь создать объявление - мне грят, мол, нужно ввести. При этом иногда пролазиет спам и создает обьявления без темы. Как ему это удается?
Поставьте чтоб объявления могли подавать только зарегистрированные пользователи + CAPTCHA
Записан
max_1985
Завсегдатай
*****

Репутация: +55/-0
Offline Offline

Сообщений: 598



« Ответ #4 : 10.09.2015, 12:37:17 »

уязвимость  AdsManager
https://revisium.com/ru/blog/adsmanager_afu.html
В последней версии эта проблема решена.
Записан
Sergey2
Завсегдатай
*****

Репутация: +15/-1
Offline Offline

Сообщений: 660


« Ответ #5 : 10.09.2015, 15:59:55 »

Поставьте чтоб объявления могли подавать только зарегистрированные пользователи + CAPTCHA
CAPTCHA стоит, а незарегестрированных отсекать не хочется
Записан
Sergey2
Завсегдатай
*****

Репутация: +15/-1
Offline Offline

Сообщений: 660


« Ответ #6 : 10.09.2015, 16:05:15 »

уязвимость  AdsManager
https://revisium.com/ru/blog/adsmanager_afu.html
У меня стоит версия 3.1.1. По крайней мере так пишет в управлении расширениями. В самом AdsManager пишут 3.1.0. Но вот это изменение у меня есть: http://www.joomprod.com/news/273-security-issue-file-upload-vulnerability-on-old-version.html
Кроме того установлен скрипт от SQL иньекций. Не панацея, конечно, но все же. Папка tmp у меня вынесена за пределы сайты. И папка pluload отсутсвует.
Прогнал сайт айболитом - нет ничего Sad
Записан
SeBun
Практически профи
*******

Репутация: +134/-3
Offline Offline

Пол: Мужской
Сообщений: 2271



« Ответ #7 : 10.09.2015, 17:19:41 »

Прогнал сайт айболитом - нет ничего Sad
Айболит не панацея. Он видит залитые скрипты, а не баги. Да и скрипты не все... Недавно клиент прислал письмо - аномальный трафик, хостер предупредил. Полез смотреть. Joomla 3.4.4, Кunena 4.0.5, PhocaGallery не помню какая... Все, больше расширений никаких. Прогнал айболитом - ругнулся на файл с картинкой, глянул исходник - пусто. Зато в index.php кто то воткнул запакованный обсуфицированный код шелла. Вот как? Добавил правила в .htaccess, код удалили, но сам факт взлома настораживает...
Записан
Sergey2
Завсегдатай
*****

Репутация: +15/-1
Offline Offline

Сообщений: 660


« Ответ #8 : 10.09.2015, 17:27:42 »

Я понимаю что не панацея. что баги он не видит. Кстати. Мне каждый раз приходит письмо о размещении обьявления. И про эти обьявления без темы тоже приходит. т.е. это не sql иньекция, а именно рзамещения обьявления.
Пойду в логах посмотрю, может найду че интересное.
Записан
SeBun
Практически профи
*******

Репутация: +134/-3
Offline Offline

Пол: Мужской
Сообщений: 2271



« Ответ #9 : 10.09.2015, 17:38:33 »

т.е. это не sql иньекция, а именно рзамещения обьявления
Что бы писать в базу, не обязательно использовать иньект, можно использовать и штатные скрипты. Например, подделка данных формы, когда на сервер отправляется пакет, как будто он был отправлен из формы добавления сообщения. Или может быть даже этот пакет шлется в ту часть кода, где происходит запись в базу (сталкивался и с таким г...кодом).
Записан
Sergey2
Завсегдатай
*****

Репутация: +15/-1
Offline Offline

Сообщений: 660


« Ответ #10 : 10.09.2015, 18:11:58 »

В логах все нормально. Похоже, действительно, проверка на обязательное поле идет только на форме. Если запрос руками формировать, то можно пустым оставить
Записан
draff
Практически профи
*******

Репутация: +161/-5
Offline Offline

Пол: Мужской
Сообщений: 2650


step by step


« Ответ #11 : 10.09.2015, 18:31:44 »

А что в компоненте не проверяется Token ?
Есть в форме ?
Код:
<?php echo JHTML::_( 'form.token' ); ?>
Записан
Sergey2
Завсегдатай
*****

Репутация: +15/-1
Offline Offline

Сообщений: 660


« Ответ #12 : 10.09.2015, 18:35:32 »

Я внутрь не лазил так глубоко. Раньше в Opera можно было подправить код страницы и тут же отобразить, а сейчас такую возможность убрали. Удобно было формы править Azn
Токен, скорее всего, проверяется, как минимум CAPTCHA то работает. Но по логам там сначала открывается страницы добавления обьявления, то есть токен получается, а потом следует добавление объявления.
Записан
Sergey2
Завсегдатай
*****

Репутация: +15/-1
Offline Offline

Сообщений: 660


« Ответ #13 : 10.09.2015, 18:36:25 »

да, такая строка есть
Записан
Grendy
Давно я тут
****

Репутация: +24/-0
Offline Offline

Пол: Мужской
Сообщений: 247


« Ответ #14 : 10.09.2015, 19:44:15 »

Мне каждый раз приходит письмо о размещении обьявления. И про эти обьявления без темы тоже приходит.

Всё правильно. То, что вы видите при попытке отправить объявление с пустой «темой», — результат проверки формы посредством Javascript. Javascript исполняется на компьютере клиента. Если в настройках браузера Javascript отключен, «ругаться» на незаполненность поля браузер не будет. А если использовать для добавления объявлений какой-нибудь скриптик (на Python достаточно нескольких строчек кода), то и вовсе от проверок на Javascript толку никакого. Нужно проверять данные повторно на сервере, о чём разработчики видимо пока не додумались или предлагают это в платных версиях.

А что в компоненте не проверяется Token ?
Есть в форме ?
Код:
<?php echo JHTML::_( 'form.token' ); ?>
Не спасёт. Достаточно сделать запрос формы, извлечь данные из скрытого поля и передавать их вместе с объявлением. Проверка будет успешно пройдена и объявление добавится.
Записан
robert
Профи
********

Репутация: +343/-11
Offline Offline

Пол: Мужской
Сообщений: 3567


« Ответ #15 : 10.09.2015, 22:44:33 »

Нужно проверять данные повторно на сервере, о чём разработчики видимо пока не додумались или предлагают это в платных версиях.
Не спасёт. Достаточно сделать запрос формы, извлечь данные из скрытого поля и передавать их вместе с объявлением.
А по-вашему, что представляет собой
Код
<?php echo JHTML::_( 'form.token' ); ?>
?
Записан
Grendy
Давно я тут
****

Репутация: +24/-0
Offline Offline

Пол: Мужской
Сообщений: 247


« Ответ #16 : 10.09.2015, 23:51:29 »

А по-вашему, что представляет собой
Код
<?php echo JHTML::_( 'form.token' ); ?>
?
По-нашему, это генерация скрытого поля с именем, представляющем собой последовательность символов. Если вы откроете браузером исходный код страницы с формой, вы увидите, что упомянутый код добавляет в форму тег input с типом hidden с именем вида «7866b7bd160908b86c219664942aec1d». Ничего более он не делает.
Записан
robert
Профи
********

Репутация: +343/-11
Offline Offline

Пол: Мужской
Сообщений: 3567


« Ответ #17 : 11.09.2015, 00:50:52 »

Ничего более он не делает.
Ошибаетесь. Вы не подумали, зачем это поле нужно?
« Последнее редактирование: 11.09.2015, 09:40:40 от robert » Записан
SeBun
Практически профи
*******

Репутация: +134/-3
Offline Offline

Пол: Мужской
Сообщений: 2271



« Ответ #18 : 11.09.2015, 12:11:39 »

robert, а смысл? Бот так же может сделать запрос страницы, извлечь из нее ключ (токен) и отправить его с остальными данными... Другое дело, если этот токен на странице был бы получен через JS, а не через форму. Но года три назад попадались материалы о том, что и JavaScript сейчас для бота не проблема.
Записан
robert
Профи
********

Репутация: +343/-11
Offline Offline

Пол: Мужской
Сообщений: 3567


« Ответ #19 : 11.09.2015, 12:36:54 »

robert, а смысл?
Да, но я не об этом.
Просто хотел сказать: <?php echo JHTML::_( 'form.token' ); ?> как раз для того, чтобы
проверять данные повторно на сервере
Но, возможно, я неправильно понял Grendy.
Записан
Sergey2
Завсегдатай
*****

Репутация: +15/-1
Offline Offline

Сообщений: 660


« Ответ #20 : 12.10.2015, 19:48:24 »

А больше нет ни у кого такой проблемы? Или у всех стоит разрешение на добавление только зарегестрированным пользователям? А может кто капчу какую посоветует?
Записан
SeBun
Практически профи
*******

Репутация: +134/-3
Offline Offline

Пол: Мужской
Сообщений: 2271



« Ответ #21 : 16.10.2015, 10:30:32 »

А может кто капчу какую посоветует?
Ну прикрутите Recapcha 2... Но почитайте первый пост. Если бы бот имел только систему OCR, то он бы не смог обойти дополнительное поле, которое является обязательным к заполнению. Однако он это поле обходит. Следовательно, это не OCR и никакая CAPTCHA вам в данном случае не поможет, и никакие токены. Сделайте эксперимент. Проанализируйте, какое количество спама поступает в сутки (если его не так много, то за неделю, за месяц), затем смените пароль к базе данных. Если количество спама резко сократится, то ...делайте выводы.
Записан
Sergey2
Завсегдатай
*****

Репутация: +15/-1
Offline Offline

Сообщений: 660


« Ответ #22 : 16.10.2015, 13:46:22 »

Ну прикрутите Recapcha 2...
так она и стоит.
Цитировать
Но почитайте первый пост. Если бы бот имел только систему OCR, то он бы не смог обойти дополнительное поле, которое является обязательным к заполнению. Однако он это поле обходит. Следовательно, это не OCR и никакая CAPTCHA вам в данном случае не поможет, и никакие токены. Сделайте эксперимент. Проанализируйте, какое количество спама поступает в сутки (если его не так много, то за неделю, за месяц), затем смените пароль к базе данных. Если количество спама резко сократится, то ...делайте выводы.
пароль поменял. будем смотреть. Но если бы там напрямую в базу писалось бы, разме мне приходило бы письмо, о том что обьявление добавлено? Да и в логах там все нормально, заходят на страницу, отправляют запрос....
Записан
SeBun
Практически профи
*******

Репутация: +134/-3
Offline Offline

Пол: Мужской
Сообщений: 2271



« Ответ #23 : 16.10.2015, 16:46:08 »

Но если бы там напрямую в базу писалось бы, разме мне приходило бы письмо, о том что обьявление добавлено? Да и в логах там все нормально, заходят на страницу, отправляют запрос....
Если бот заточен именно под ваш сайт, то смоделировать эффект присутствия недолго. Возможно, бот заточен под какой то компонент и использует его уязвимость. В любом случае нужно изучать поведение, что называется, "под микроскопом". Навскидку гадать до бесконечности можно.
Записан
Sergey2
Завсегдатай
*****

Репутация: +15/-1
Offline Offline

Сообщений: 660


« Ответ #24 : 28.10.2015, 19:22:37 »

поставил keycaptcha, где надо во флеше пазл сложить мышкой. Так через сутки обьявления стали появляться по три штуки в минуту.
Ни у кого нет что ли таких проблем? Может кто авторам отпишет?
Записан
grinat
Давно я тут
****

Репутация: +34/-2
Offline Offline

Пол: Мужской
Сообщений: 352



« Ответ #25 : 26.11.2015, 22:29:46 »

Айболит не панацея. Он видит залитые скрипты, а не баги. Да и скрипты не все... Недавно клиент прислал письмо - аномальный трафик, хостер предупредил. Полез смотреть. Joomla 3.4.4, Кunena 4.0.5, PhocaGallery не помню какая... Все, больше расширений никаких. Прогнал айболитом - ругнулся на файл с картинкой, глянул исходник - пусто. Зато в index.php кто то воткнул запакованный обсуфицированный код шелла. Вот как? Добавил правила в .htaccess, код удалили, но сам факт взлома настораживает...
Айболит это бесполезная приблуда, насколько помню в него своего рода сигнатуры прописаны, детектор base64 например, в который так любят злоумышленники запаковывать свой код. Проще написать скрипт, который по особому запросу формирует бд в виде txt файла например, чтобы MySQL не грузить лишний раз, в ней хранятся имена файлов и их размер, далее этот скрипт по крону запускается например раз в 10 минут и проверяет все файлы, если видит что залит новый, то сразу удаляет, если размер изменился, то шлет отчет на почту. Проблем будет ноль. Поскольку эти уроды ломают сайты в автоматическом режиме, сканер проходит через 20 тыс сайтов, которые парсят с Google, и куда может пихает код, код ждет команды, как только она приходит, и идет спам, ddos или еще что-то, зависит от того какой заказ выполняет злоумышленник.
« Последнее редактирование: 26.11.2015, 22:33:41 от grinat » Записан
max_1985
Завсегдатай
*****

Репутация: +55/-0
Offline Offline

Сообщений: 598



« Ответ #26 : 03.12.2015, 13:47:58 »

Разобрался что создание нескольких объявлений это не вирус, а просто недоработка разработчиков.
Просто если при создании объявления несколько раз нажать на кнопку "Сохранить", создастся несколько объявлений. Это решается запретом на повторное нажатие кнопки.
Записан
Страниц: [1]   Вверх
  Добавить закладку  |  Печать  
 
Перейти в:  

Powered by SMF 1.1.21 | SMF © 2006, Simple Machines

Joomlaforum.ru is not affiliated with or endorsed by the Joomla! Project or Open Source Matters.
The Joomla! name and logo is used under a limited license granted by Open Source Matters
the trademark holder in the United States and other countries.

LiveInternet