Często korzystając z serwisów…

Często korzystając z serwisów internetowych spotykamy się przekierowaniami.
Jeżeli część zasobów witryny dostępna jest tylko dla zalogowanych użytkowników – po przejściu na taką podstronę jako niezalogowana osoba jesteśmy, przekierowywani do formularza logowania.
W adresie URL możemy dostrzec parametry nazwane redirect czy też next, wskazujące na podstronę, która ma się wyświetlić po zalogowaniu.

Dzisiaj w #od0dopentestera, krótki przykład w #java symulujący tą funkcjonalność:

`import java.io.*;
import javax.servlet.*;
import javax.servlet.http.*;

public class RedirectionExample extends HttpServlet {
@Override
public void doGet(HttpServletRequest request, HttpServletResponse response)
throws IOException, ServletException {

response.sendRedirect(request.getParameter("redirect"));
}

}`

Jako parametr redirect można podać dowolny link. Ale co w tym złego?

Zamiast przejść na nasza stronę, użytkownik zostanie przeniesiony na inną witrynę.

Żadne dane nie wyciekną.

Aby zrozumieć dlaczego jest to niebezpieczne musimy opisać co to jest phishing.

Phishing – czyli metoda oszustwa, w której podszywamy się pod kogoś lub coś aby wyłudzić jakieś interesujące nas informacje.

Przykład: dostajemy email od naszego banku, że ktoś próbował włamać się na nasze konto i musimy zmienić hasło.

Jako iż jesteśmy świadomi niebezpieczeństwa – sprawdzamy adres domeny, na którą kieruje odnośnik w wiadomości.

Domena się zgadza – jest identyczna z domeną naszego banku.

Klikamy więc w link i przystępujemy do procedury zmiany hasła.

Trafiamy jednak na stronę przestępców – którzy chcą wyłudzić nasze dane.

Jak do tego doszło?

Witryna banku zawierała błąd Open Redirection.

Atakujący w adresie banku zawarł odpowiednio spreparowany parametr redirect prowadzący na złośliwą domenę.

Użytkownik sprawdzając łącze – widział zatem prawdziwą domenę banku.

Nie sprawdził jednak parametrów, które były w niej przekazywane.

Dlatego też najpierw otworzyła mu się strona banku a następnie został przekierowany na inną domenę.

Pewno myślisz sobie, że żeby uchronić się przed tym atakiem, wystarczy sprawdzić, czy parametr zaczyna się od naszej domeny.

Dlaczego jest to błędne myślenie, dowiesz się w filmie, w którym opisuje kilka popularnych metod obrony oraz sposoby ich obejścia.

Jeżeli chcesz być wołany dodaj się do Mirkolisty. Wyjątkowo wołam osoby plusujące ostatni wpis o Java.

Masz pytanie na temat bezpieczeństwa? Zadaj je na grupie od 0 do pentestera na Facebooku.

#security #bezpieczenstwo #programowanie #informatyka #it #nauka #technologia #ciekawostki

Comments are closed.