Мой Веб-сайт был взломан с помощью Statcounter! Statcounter ведет учет cookie?

У меня был довольно интересный случай взламывания на моем веб-сайте MVC ASP.NET. Для этого веб-сайта я реализовал довольно несложную систему аутентификации для своей администраторской области - зашифрованный cookie, который имел подпись идентификации для участника. Каждый раз, когда администратор посещает веб-сайт, cookie был бы дешифрован, и подпись проверяется. При соответствии он не должен был бы регистрироваться.

Несколько дней назад посетитель на моем сайте сказал мне, что смог подписаться в мой веб-сайт просто путем нажатия не на реферальную ссылку на его консоль Statcounter, которая указала на мою администраторскую область (я посетил его сайт из ссылки в моем администраторском представлении).

Он просто нажал на ссылку в statcounter, и он регистрировался как администратор!

Единственным путем это, возможно, произошло, был то, если statcounter так или иначе записал мои cookie и использовал их, когда он нажал на ссылку, указывающую на моего администратора!

Это логично или измеримо?

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

Обновление: Я создал систему белого списка IP-адреса для защиты моего администратора от несанкционированного доступа. В основном сервер теперь сравнит IP-адрес посетителя против белого списка и только предоставит доступ, если IP-адрес будет в том списке. Это также поддерживает подстановочные знаки, таким образом, это будет хорошо даже для динамических IP-адресов.

Хотя это не является надежным, но это поднимает безопасность много меток.

5
задан AstroCB 31 August 2014 в 01:38
поделиться

4 ответа

Я не знаю, как вы выполняли аутентификацию на своем сайте, но я сделал это так, и я не думаю, что кто-то может сломать этот:

var authTicket = new FormsAuthenticationTicket(
          1,
          userName,  //user id
          DateTime.Now,
          DateTime.Now.AddMinutes(20),  // expiry
          createPersistentCookie, 
          null,
          "/");

        var cookie = new HttpCookie(FormsAuthentication.FormsCookieName, FormsAuthentication.Encrypt(authTicket));

        HttpContext.Current.Response.Cookies.Add(cookie);

он использует FormsAuthentication и шифрует cookie с помощью ключа с вашего компьютера. config

3
ответ дан 14 December 2019 в 19:09
поделиться

Я не понимаю, как это могло произойти через StatCounter - даже если он предоставит ссылку на вашу админку, как описано, его локальный компьютер не сможет иметь файл cookie аутентификации. Попросите его прислать вам ссылку, по которой он перешел, и попробуйте сами в браузере, который вы обычно не используете, или на другом ПК. Я предполагаю, что в вашей системе аутентификации есть какой-то недостаток, что означает, что ссылка на админка работает автоматически, если кто-то (то есть вы) уже вошел в систему в другом месте. В качестве альтернативы ссылка включает ваши полные учетные данные, и это не вина StatCounter.

2
ответ дан 14 December 2019 в 19:09
поделиться

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

На будущее, если вы хотите защитить свой (или пользовательский) cookie, установите его следующим образом:

$cookie = encoded($user-ip-address);


Далее, для проверки подписи:

if ( decoded($cookie) == $user-ip-address ){
    //succesefull login
}
0
ответ дан 14 December 2019 в 19:09
поделиться

Похоже, куки были украдены через XSS . Довольно старая статья , но она вас заинтересует.

0
ответ дан 14 December 2019 в 19:09
поделиться
Другие вопросы по тегам:

Похожие вопросы: