W obecnych czasach, specjalne złośliwe oprogramowanie tzw. roboty lub boty odwiedzają strony, pobierają dane zawierające adresy e-mail, a na te adresy wysyłane są reklamy, scamy, wirusy i grzyby czyli potocznie zwany spam. Aby nie paść ofiarą spamu nierzadko nie podajemy swojego adresu e-mail na własnej stronie internetowej. Nie podając swojego adresu często decydujemy się na formularz kontaktowy, który równie często pozostawiony bez zabezpieczeń jest kolejnym potencjalnym niebezpieczeństwem.

 

Formularze kontaktowe

Podobnie jak boty, które skanują adresy stron w poszukiwaniu adresów e-mail, są również takie, które skanują strony w poszukiwaniu formularzy. Prosty formularz na stronie jest bardzo prosto automatycznie wypełnić (Imię, E-mail, Telefon, Wiadomość) oraz wysłać – w ten właśnie sposób często nasze skrzynki bywają atakowane. Na przeciw takim atakom wychodzi ludzka pomysłowość czyli dodatkowe pola na wymagane zgody, zadania matematyczne czy stolice krajów.

Tak na pozór dobre, niestandardowe rozwiązanie da się w równie dobry i niestandardowy sposób obejść. Niektóre z bardziej przemyślanych i zarazem złośliwych oprogramowań pobierają kod źródłowy formularza, aby wykonać go na innym serwerze. Taka operacja daje możliwość edytowania pól i jego wymagań oraz wykonania na stronie ofiary.

<form action="http://strona-ofiary.com/formularz.php" method="post"> 
(...)
<input id="zgoda" name="zgoda" type="zgoda" value="" required="required"> 
(...)

Tak posiłkując się naszym kodem źródłowym możemy zostać zaatakowani poprzez np. mail bomb. Bombardowanie maila wiadomościami masowo przesyłanymi przez nasz własny formularz może spowodować (w zależności od skrzynki pocztowej) blokadę adresu lub przekierowanie wszystkich wiadomości z formularza do folderu Spam. Co w oczywisty sposób narobi nam zamieszania przy normalnej wiadomości np. od klienta. Na przeciw prostocie zabezpieczeń formularza napisanego w html/php wychodzi CAPTCHA.


Dobre CAPTCHA

Captcha jest zabezpieczeniem polegającym na przedstawieniu użytkownikowi obrazka zawierającego tekst, który w założeniu jest łatwo rozpoznawalny przez człowieka, za to ciężki do rozpoznania przez automat. W ramach weryfikacji użytkownik powinien prawidłowo wpisać wymagany ciąg znaków czyli rozwiązać zadanie.

Najlepszym standardowym rozwiązaniem jest zastosowanie systemu Captcha prosto od Google czyli Google reCAPTCHA. Pomysł od Google łączy ze sobą dwie główne koncepcje jedną z nich naturalnie jest weryfikacja zachowań ludzkich przez zadanie, które rozwiązuje użytkownik, a które jest sprawdzane po stronie Google. Drugą koncepcją jest wykorzystanie tekstów, które nie mogą być jednoznacznie ocenione przez system OCR (Optyczne rozpoznawanie znaków) do rozpoznania przez użytkowników reCAPTCHA. Dzięki temu otrzymujemy obrazki tekstów, z którym nie radzą sobie automaty rozpoznawania tekstu, ale za to radzą sobie ludzie, którzy poprzez weryfikację (ręczne wpisywanie znaków) pomagają w digitalizacji książek i pism.

Tak jak każde zabezpieczenie te również można obejść (tu artykuł z BlackHat.com), jednak jako, że Google ciągle pracuje nad ulepszeniami wypuszczając nowe wersje swojego systemu reCAPTCHA, to daje nam to choć troszkę poczucia bezpieczeństwa.

Jeśli posiadasz stronę z formularzem i nierzadko borykasz się z niechcianymi wiadomościami lub chciałbyś zabezpieczyć swój formularz logowania powinieneś dodać do niego reCAPTCHA. Jeśli nie potrafisz tego zrobić sam na pewno zrobi to Twój webmaster.

Tagi: , , , , , , , , , , , ,