Jakiś czas temu udostępniłem wyzwanie (http://bootcamp.threats.pl/lesson08/), które do tej pory przeszły chyba dwie osoby, a przynajmniej tylko te dwie osoby się tym chwalą. Tym razem udostępniam zmodyfikowaną wersję tego samego wyzwania (http://bootcamp.threats.pl/lesson11/), która implementuje (ale nie dokładnie, bardziej na zasadzie PoC) koncepcję opóźnienia przy kolejnych nieudanych próbach uwierzytelnienia, (patrz: O implementowaniu haseł).
Bootcamp XI: opóźnienia przy logowaniu
Nie implementuję tam CAPTCHA, dodatkowo informacja o opóźnieniu trzymana jest w sesji, a nie w bazie danych, w związku z czym usunięcie "starego" cookie skutecznie opóźnienie likwiduje, a przynajmniej znacznie je redukuje. Wprowadzona modyfikacja nie powoduje, że zadanie staje się nie do przejścia, Karol potrafił przejść zadanie ręcznie, więc dodatkowe opóźnienie nie zrobiłoby mu większej różnicy, jednak już KKKas może porównać szybkość działania swojego skryptu w obu przypadkach.
Dodatkowo założony został użytkownik o nazwie brutus, który posiada hasło złożone z czterech znaków. Można wypróbować wydajność ataku brute force na to hasło, zarówno z uwzględnieniem cookie, jak i bez niego.
Mam pytanie co do tego usuwania cookie - jak to właściwie zrobić? Wystarczy z POST'a usunąć wpis dot. cookie? Da się tak usunąć cookie? Czy raczej miałeś na myśli wyczyszczenie cache przeglądarki?
To są jakieś inne pliki cookies, czy jak?
A czemu zakładasz że ktoś kto łamie hasła nie robi tego z przeglądarki? Mi genialnie sprawdza się narzędzie developerskie (typu Firebug) do takich zastosowań (jeśli chodzi o wyzwanie z lekcji 8 i 11). Są jakieś minusy używania do tego celu przeglądarki? Jakiego wobec tego narzędzia wg Ciebie lepiej używać?
Akurat ja jestem stara gwardia i dla mnie cache przeglądarki ma konkretne znaczenie niekoniecznie zgodne z tym, co obecnie sugeruje GUI
Jeśli chodzi o narzędzia, to najlepsze są te narzędzia, którymi potrafisz się posługiwać. Jeśli jest to Firebug, to jest OK. Ja akurat preferuję jakieś skrypty w Pythonie, ma on całkiem przyjemne biblioteki, w oparciu o które popisałem sobie fragmenty skryptów/modułów. No i w oparciu o te moduły lepię sobie narzędzie do konkretnego zadania. Jest to dla mnie wygodniejsze i szybsze. Podkreślam - dla mnie.
Może kiedyś tego Pythona lizne, jak mi się javascript znudzi .