ASP.NET проблемы с безопасностью, возможно, связанные с Umbraco, но, скорее всего, просто общая проблема безопасности

StackOverflow https://stackoverflow.com/questions/1843373

Вопрос

На данный момент у меня невероятно неприятная проблема с очисткой моего сайта.На том же хостинговом пространстве у меня установлены Umbraco (ASP.NET) и Blab Lite (PHP Chatroom).Первый взаимодействует с SQL 2005, а второй - с MySQL 5.

На моем сайте Umbraco у меня была гостевая книга с формой для входа.При обратной отправке выполняется проверка Akismet и пропускается создание / сохранение соответствующего документа Umbraco, если Akismet считает его спамом.

Однако недавно я начал получать записи, созданные на узле "Моя гостевая книга", которые проверяются как спам, и все же документ все еще сохраняется.Я даже зашел так далеко, что скрыл форму с помощью "display: none", и все же эти записи все еще создаются!Я изменил DLL, чтобы включить ведение журнала в журналы событий Umbraco document, и каким-то образом их создание по-прежнему не приводит к появлению каких-либо записей в журналах.Я даже создал обработчик событий для Document.Событие beforeSave в отдельной сборке, и этот обработчик событий не отслеживает сохранение этих записей.

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

Спасибо, Дэни.

Это было полезно?

Решение

Это похоже на старое сообщение, но оно не помечено как отвеченное, так что я попробую.Я давно не пользовался Umbraco, поэтому не уверен, исправили ли они это в последней версии, но проблема в самом Umbraco.Документ.Функция beforeSave() запускается ПОСЛЕ создания узла, вот почему ваш фильтр нежелательной почты не работает.Пометка формы как невидимой не сработает, потому что бот посмотрит на исходный код и просто сопоставит найденные поля формы с шаблоном.Посмотрите здесь для получения более подробной информации о проблеме Umbraco:

http://forum.umbraco.org/yaf_postst9312_BeforePublish-and-BeforeSave-Event-Handlers.aspx

Как я уже сказал, я сто лет не пользовался Umbraco, но, надеюсь, это поможет кому-нибудь, даже если вы нашли решение.

Пол

Другие советы

Я предполагаю, что в вашем коде есть ошибка, из-за которой вы пропускаете создание / сохранение документа Umbraco...хотя странно, что Document.Событие beforeSave не запускается.Вы уверены, что ваши прослушиватели событий также работают (т.е.регистрируют ли они сохранение записей, не содержащих спама?)

Кстати, установка "display: none" не остановит спамеров, поскольку боты, как правило, все равно игнорируют CSS.

Да, прослушиватели событий действительно работают.Это навело меня на мысль, что здесь есть что-то еще странное.Наконец я решилась и прошлась по всему этому с помощью расчески с более мелкими зубьями.Сначала я сравнил содержимое папки bin между стандартным дистрибутивом Umbraco 4 и тем, что находится на моем хостинге.Я решил, что проще всего перезаписать каждый из них новым.Затем я просмотрел каждый пакет Umbraco, который я установил, и убедился, что библиотеки DLL также в порядке.Ну, была 1 библиотека DLL, которая не соответствовала ничему другому в Umbraco или пакетах, которые я установил - EO.Web.dll !

Кажется, есть законная вещь от EssentialObjects, но я не думаю, что Umbraco, мой код или какой-либо из пакетов на самом деле использует ее!Я удалил его, и каждая часть моей установки Umbraco все еще работает!Теперь я настроил видимость формы в разметке ascx, чтобы она не отображалась - теперь мы подождем и посмотрим, была ли это вредоносная программа-нарушитель!

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top