Обхід капч та блокування на сайтах

22:42 20.08.2011

В різних формах на сайтах, зокрема в формі логіна, можуть використовуватися такі захисні методи як капча та тимчасове блокування. В формі логіна дані методи захищають від Brute Force атак. Але дані методи захисту можна обійти (при їх некоректній реалізації), як блокування, так і капчу, зокрема якщо капча наявна на сторінці не одразу, а з’являється після однієї чи кількох невдалих спроб логіна.

Це перша стаття з серії статей про методи обходу блокування на сайтах. Друга стаття - Обхід блокування по IP на сайтах.

Вперше я розробив подібну методику в 2009 році (та оприлюднив її торік), коли виявив уразливість на www.4post.com.ua, що дозволяла блокувати доступ користувача до сайта при спеціальному запиті. А при видаленні сесійного кукіса дане блокування можна було обійти. Про даний метод атаки я писав в статті Використання захисних механізмів для блокування доступу до сайта. Аналогічні можливості обходу блокування я неодноразово знаходив на різних сайтах в 2009-2011 роках.

А минулого місяця, під час аудиту сайта свого клієнта, я виявив можливість використання даного методу для обходу капчі в формі логіна (коли капча з’являється після однієї невдалої спроби логіна). Тобто статус того, що капча включена, знаходиться в сесії і якщо видалити сесійних кукіс, то капча не з’явиться і можна буде автоматизовано проводити Brute Force атаку. Тому якщо не приймати чи видаляти кукіси, можна буде обходити стан активації захисту і таким чином обходити капчі чи блокування на сайтах.

Такі уразливості в захисних системах трапляються на різних сайтах і веб додатках. Розглянемо подібну атаку на прикладі MyBB.

В квітні я оприлюднив Brute Force уразливість в MyBB, коли з’являлася капча в формі логіна, яку можна було обійти використовуючи session reusing with constant captcha bypass method (який описаний в проекті MoBiC). Розробники тоді не виправили дану та інші уразливості (в випущеній MyBB 1.6.3). Але як нещодавно вияснив, вони встановили в нових версіях MyBB 1.6.3 і 1.6.4 по замовчуванню інший метод захисту (який є також і в попередніх версіях движка і використовується на більшості форумів на MyBB). Цей захисний метод замість капчі використовує обмеження на кількість спроб, але даний захист легко обійти використовуючи вищенаведений метод.

Якщо не приймати кукіси (або видаляти чи обнуляти кукіс loginattempts), то кількість спроб буде нескінченною. І обмеження у вигляді капчі чи тимчасового блокування не спрацюють. А якщо воно вже спрацювало, то потрібно лише видалити чи обнулити даний кукіс, щоб його зняти.

Дана ситуація має місце на більшості форумів на MyBB, але зустрічаються форуми на таких версіях движка, що тримають лічильник спроб логіна не в кукісі loginattempts, а в сесії. Тому для обходу захисту потрібно лише видалити кукіс sid.


Одна відповідь на “Обхід капч та блокування на сайтах”

  1. MustLive каже:

    You can read this article on English in The Web Security Mailing List: Bypassing of security mechanisms.

Leave a Reply

You must be logged in to post a comment.