Перейти к публикации

Ложное Hacking attempt!


Рекомендованные сообщения

Здравствуйте,

у меня проблема, если в урле используются двойные кавычки DLE выдает Hacking attempt!

Такие урлы иногда генерит Facebook плагин когда лайкаешь страницу. Это происходит на страницах, где в заголовках стоят кавычки разных типов. Отказаться от кавычек невозможно. Я ищу возможность чтобы отключить у Facebook плагина JSON параметры, которые добавляют такие вот параметры в строку адреса.

&action_object_map={"509591315784032"%3A429904943788839}

&action_type_map={"509591315784032"%3A"og.recommends"}

&action_ref_map=[]

Пока я ищу как это сделать, можно как временное решение через htaccess заставить DLE отбрасывать символы " из адресной строки?

Вот такие варианты пока не помогли:

RewriteRule ^(.*)"$ $1 [R=301,L]

и это тоже

RewriteRule ^([^.]+)/([0-9]+)-(.*).html(.*)["](.*)$ /$1/$2-$3.html [R=301,L]

Заранее благодарен за быструю помощь.

Изменено пользователем YuriBtr
Ссылка на сообщение
Поделиться на других сайтах

Ложное Hacking attempt!

у меня проблема, если в урле используются двойные кавычки DLE выдает Hacking attempt!

Ничего ложного в данном случае нет. Это недопустимые для URL символы.

Вам нужно убирать в данном случае фильтрацию данных символов в файле/engine/modules/functions.php в функции check_xss

Ссылка на сообщение
Поделиться на других сайтах

Спасибо за ответ. Но мне не нужно эти кавычки передавать на обработку в DLE. Их нужно отсекать еще на уровне htaccess. Подскажите пожалуйста правило которое это сделает. Можно убирать все, что справа в строке адреса, начиная с первой кавычки.

Заранее благодарен за оперативность.

Ничего ложного в данном случае нет. Это недопустимые для URL символы.

Позвольте не согласиться с вами. Есть много сайтов - достаточно популярных - у которых появление двойной кавычки в адресе НЕ вызывает никаких пугающих пользователей сообщений. Они просто игнорируют этот символ. К тому же о каком хакинге может идти речь, если добавить именно эти параметры &action_object_map={"509591315784032"%3A429904943788839}????

Так как мы стремимся сделать работу движка DLE более удобной для пользователей, можно было бы сделать более дружественное читателям решение этой проблемы. Хотя бы на уровне htaccess. Ведь в свое время от дружественных 404 ошибок тоже отказывались, а теперь - норма.

Спасибо!

Изменено пользователем YuriBtr
Ссылка на сообщение
Поделиться на других сайтах

Но мне не нужно эти кавычки передавать на обработку в DLE.

Правильно не нужно, а вы их передаете в DLE, соответственно срабатывает скрипт DLE. Через .htaccess вы эту передачу не удалите, если вы хотите чтобы они не передавались они должны отсутвовать в URL, т.е. их не должен слать Facebook.

Позвольте не согласиться с вами. Есть много сайтов - достаточно популярных - у которых появление двойной кавычки в адресе НЕ вызывает никаких пугающих пользователей сообщений. Они просто игнорируют этот символ. К тому же о каком хакинге может идти речь, если добавить именно эти параметры &action_object_map={"509591315784032"%3A429904943788839}????

Причем здесь ваш код {"509591315784032"%3A429904943788839}? Существует такое понятие как фильтрация входящих данных и недопустимые символы в URL, недопустимыми являются символы которые скриптом не используются, но могут быть использованы для XSS или SQL атак на сайты. Эта фильтрация относится к мерам превентивной безопасности (т.е. к заблаговременной), а не к тому когда проблемы находится, только тогда они исправляются.

Ссылка на сообщение
Поделиться на других сайтах

Эта фильтрация относится к мерам превентивной безопасности (т.е. к заблаговременной), а не к тому когда проблемы находится, только тогда они исправляются.

Ок, но почему бы тогда движок сайта не заставить просто проигнорировать эти символы - т.е. не обрабатывать их вообще?

Мне не нужно пугающее сообщение о попытке взлома, тем более когда совершаются абсолютно легальные действия. Еще раз говорю - если мы делаем дружественный движок то он не должен в таких случаях пугать нормальных пользователей.

Что можно можно исправить в движке без ущерба защищенности?

Через .htaccess вы эту передачу не удалите

Я правильно понял, что RewriteRule не способно убрать двойные кавычки? Оччччень жаль.... Тогда пока остается надежда на первый вариант - с правкой движка.

Ссылка на сообщение
Поделиться на других сайтах

Ок, но почему бы тогда движок сайта не заставить просто проигнорировать эти символы - т.е. не обрабатывать их вообще?

Вы не поняли. Это не обработка символов, а превентивные меры безопасности. Можете убрать эти меры безопасности, я написал вам где их убрать. Там вы убираете фильтры превентивной безопасности, а не обработку этих символов.

Мне не нужно пугающее сообщение о попытке взлома, тем более когда совершаются абсолютно легальные действия.

С каких пор отправка скрипту "левых" данных action_object_map={"509591315784032"%3A429904943788839} стала легальной? Легальным считается только действие которое предусмотрено скриптом и обрабатывается скриптом. А данное действие абсолютно нелегально для DLE, и срабатывают превентивные меры безопасности, которые данные нелегальные действия блокируются.

Ссылка на сообщение
Поделиться на других сайтах

Извините, может я чего не допонимаю, но почему нельзя эти кавычки просто вырезать еще на входе в скрипт - при срабатывании фильтра превентивной безопасности, без генерации ошибки?

Можете убрать эти меры безопасности, я написал вам где их убрать

А это действие сделает сайт более уязвимым?

Ссылка на сообщение
Поделиться на других сайтах

Извините, может я чего не допонимаю, но почему нельзя эти кавычки просто вырезать еще на входе в скрипт - при срабатывании фильтра превентивной безопасности, без генерации ошибки?

Потому что сама кавычка нужна в некоторых случаях скрипту, и он ее может использовать. Вырезать ее просто так нельзя. Блокировка происходит только ее при несанкционированных случаях и несанкционированных переменных.

А это действие сделает сайт более уязвимым?

Какой то конкретной и известной проблемы нет. Это превентивный фильтр, т.е. на то что неизвестно и может быть теоретически. Например вы поставите какой нибудь сторонний модуль, который некорректно фильтрует данные и появление кавычки может привести например к XSS и SQL атаке. В этом случае сайт и защищает превентивный фильтр.

Ссылка на сообщение
Поделиться на других сайтах

Блокировка происходит только ее при несанкционированных случаях и несанкционированных переменных.

Хорошо, как можно добавить в санкционированные переменные action_object_map и action_type_map ?

Ведь я не зря назвал тему "Ложное Hacking attempt!". Мы точно знаем, что Фейсбук не генерирует никаких противоправных действий. Эти двойные кавычки появляются в результате неверной обработки кавычек в заголовке новости. Но это не должно доставлять проблем пользователям. Может быть добавить в исключение в движок переменные action_object_map и action_type_map? Пусть скрипт их просто не использует и игнорирует.

Изменено пользователем YuriBtr
Ссылка на сообщение
Поделиться на других сайтах

Хорошо, как можно добавить в санкционированные переменные action_object_map и action_type_map ?

В этой же функции написать соответствующий код, который будет возвращать false из функции если эти символы именно в этих переменных. Я не пишу модификаций скрипта на заказ, поэтому какого либо готового решения предоставить вам не могу.

Ведь я не зря назвал тему "Ложное Hacking attempt!". Мы точно знаем, что Фейсбук не генерирует никаких противоправных действий. Эти двойные кавычки появляются в результате неверной обработки кавычек в заголовке новости. Но это не должно доставлять проблем пользователям.

Если честно то непонятно в чем оно ложное и на каком основании Фейсбук посылает в URL вашего сайта, именно вашего а не своего, данные параметры? Это есть ни что иное чем противоправные со стороны фейсбука действия, потому как эти данные он посылает вашему серверу, а ваш сервер их не запрашивал.

Ссылка на сообщение
Поделиться на других сайтах

может пора уже ссылку на страницу где нужно нажать "лайкнуть" или просто описание(со скриншотами?) как это воспроизвести.

Ссылка на сообщение
Поделиться на других сайтах

Через .htaccess вы эту передачу не удалите, если вы хотите чтобы они не передавались они должны отсутвовать в URL, т.е. их не должен слать Facebook.

Уважаемая техподдержка.

Все решалось достаточно просто, вопреки вашему мнению. Добавлением вот этой строки в htaccess

RewriteCond %{QUERY_STRING} ^fb_action_ids= [NC]

RewriteRule (.*) $1? [R=301,L]

Где fb_action_ids первая переменная от фейсбука, которая вставляется сразу после вопросительного знака в адресе.

Ссылка на сообщение
Поделиться на других сайтах

Присоединяйтесь к обсуждению

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

Гость
Ответить в тему...

×   Вставлено в виде отформатированного текста.   Вставить в виде обычного текста

  Разрешено не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отобразить как ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставить изображения напрямую. Загрузите или вставьте изображения по ссылке.

×
×
  • Создать...