Paweł Goleń, blog

Jakiś czas temu kupiłem sobie MIO P550. Głównie z uwagi na GPS, choć kiedyś wykorzystywałem go również do poszukiwania AP w moich rodzinnych stronach (i znalazłem). Co prawda Mini NetStumbler nie działa z kartą wireless instalowaną w MIO, ale stosując prymitywne metody obserwowania poziomu sygnału, też udało się podążać we właściwą stronę i antenę namierzyć.

Ale ja nie o tym chciałem... Jakiś czas temu Moja Ulubiona Czarownica przyłapała mnie na grze w Bubble Breaker. Ot, takie zabijanie czasu... Popatrzyła na mnie z politowaniem, popukała w główkę, po czym stwierdziła, że ona też spróbuje... Zgadnijcie co teraz robi? I co robiła wczoraj? I przedwczoraj... I przed przedwczoraj...

EDIT: braker –> breaker

Czytaj dalej...

Co do zasady nie przepadam za serwisami społecznościowymi. Owszem, mam konto w LinkedIn, mam również w nasza-klasa.pl. Nie podoba mi się w tych serwisach pogoń za ilością “znajomych”. Co z tego, że ktoś ma tam odnotowanych 50 znajomych, jeśli na forum nie odezwie się ani raz? A wracając do nasza-klasa.pl to trudno nie zauważyć, że działa fatalnie... Ktoś chyba niedoszacował obciążenia. Ups...

Czytaj dalej...

Czy istnieje szyfr, którego nie można złamać? Ponieważ właściwie nie istnieją zabezpieczenia, których się nie da złamać, odpowiedź powinna brzmieć “oczywiście, że nie istnieje, istnieją co najwyżej takie, których się nie da złamać w sensownym czasie”. Problem w tym, że odpowiedź ta jest nieprawidłowa.

Czytaj dalej...

17 listopada, a za oknem zima... Ciekawe, czy to zapowiedź długiej zimy, czy jej przedwczesne, ostatnie podrygi. W każdym razie korzystając z dość ładnego dnia wybrałem się na spacer. Nie specjalnie długi, jakieś 10 kilometrów. Muszę przyznać, że chodzenie po grząskim śniegu jest męczące :)

Czytaj dalej...

Wartość oczekiwana, czyli numer kroku, w którym nastąpi “złamanie” hasła maskowanego. Innymi słowy po ilu podglądnięciach hasła atakujący będzie mógł się zalogować do systemu na podstawie zdobytych informacji. Wartości są wyliczone dla haseł o długościach od 8 do 16 znaków i masek o długościach od 4 do 8 znaków.

4 5 6 7 8 8 3,09 2,7 2,36 2 1 9 3,4 3,01 2,65 2,33 2 10 3,71 3,31 2,94 2,6 2,31 11 4 3,6 3,22 2,88 2,56 12 4,28 3,89 3,51 3,16 2,83 13 4,57 4,17 3,79 3,43 3,09 14 4,84 4,44 4,06 3,69 3,36 15 5,12 4,71 4,32 3,95 3,61 16 5,38 4,99 4,58 4,21 3,86

Statystycznie (a są kłamstwa, duże kłamstwa i statystyka) najlepsze rozwiązanie to długie hasła i krótkie maski. Nawet w tym przypadku wystarczy (statystycznie) 6 podglądnięć hasła, by zdobyć dane potrzebne do uwierzytelnienia. Niewiele...

Czytaj dalej...

Małe uzupełnienie wczorajszego postu. Wyliczenie minimalnej i maksymalnej ilości prób potrzebnych do pomyślnego przejścia hasła maskowanego, jest stosunkowo proste. Są dwie sytuacje:

  • znane są wszystkie znaki dla kolejnej maski,
  • znane jest całe hasło,

Pierwsza sytuacja zachodzi najszybciej po dwóch próbach. Może się zdarzyć tak, że trzecia maska jest wybrana spośród elementów maski pierwszej i drugiej. Minimalnie potrzebne są więc dwie podsłuchane próby uwierzytelnienia przy pomocy hasła maskowanego. Druga sytuacja zachodzi dla n znakowego hasła i k znakowej maski najpóźniej po (n-k)+1 próbach. Dlaczego? Pierwsza maska “zajmuje” k znaków, zostaje n-k znaków wolnych, które można wykorzystać w kolejnych maskach. Zakładając, że każda nowa maska będzie “konsumowała” tylko jeden z “wolnych” znaków, otrzymuje się podaną przeze mnie wartość. Jeśli kolejne maski nie będą wykorzystywały “wolnych” znaków, to zachodzi sytuacja pierwsza – wymagane są znaki, które wystąpiły w pierwszej masce.

Czytaj dalej...

Hasła są umiarkowanie bezpieczną metodą uwierzytelnienia użytkownika. Nie chodzi tu nawet o fakt, iż znaczna część populacji wybiera hasła słabe. Hasło może zostać podsłuchane lub podpatrzone. Podsłuchane za nawet nie tyle za pomocą sniffera w trakcie, gdy hasło przesyłane jest przez sieć, ale przez keylogger (lub ogólniej – malware) w trakcie jego wpisywania. Podpatrzone przez osobę, która niewinne stoi akurat za plecami i spogląda niewinnie gdzieś w dal...

Czytaj dalej...

Ostatnio w trakcie testów spotkałem się z błędem w WebScarab. Problem leży w obsłudze multipart. Linia w tym przypadku powinna kończyć się sekwencją CRLF (\r\n). Okazuje się, że WebScarab znak CR traktuje jako normalny, edytowalny znak, choć go nie wyświetla. W rezultacie ustawienie kursora na początku linii i wybranie przycisku END powoduje, że kursor zostanie ustawiony w praktyce między znakiem CR i LF. W dość prosty sposób można wówczas przypadkowo usunąć znak CR, co prowadzi do tego, że post w formacie multipart ma nieprawidłowy format. Obejście problemu jest dość trywialne. Po ustawieniu kursora na końcu linii (przez END) wystarczy użyć “strzałki” (mowa oczywiście o klawiaturze) w celu przesunięcia kursora o jeden znak w lewo. Pozornie wówczas nic się nie dzieje, w praktyce jednak kursor przesuwa się przed znak CR i wyprodukowany (zmodyfikowany) multipart jest już prawidłowy. Proste?

Czytaj dalej...

Zgodnie z tradycją 1 listopada ukazała się kolejna wersja OpenBSD.

Czytaj dalej...

Jestem pod wrażeniem dokumentacji do sqlite3 w Python 2.5. Chodzi mi o wskazanie tego, by nie konstruować zapytań SQL na zasadzie sklejania stringów, lecz przy pomocy mechanizmu bind variables. Dlaczego? Dlatego, że jest to jedna z prostszych i przy okazji skuteczniejszych metod przeciwdziałania sql-injection (dowiedz się więcej na temat sql injection : Lekcja 7: (blind) SQL injection). Przy pomocy Pythona i sqlite3 łatwo to zresztą sprawdzić.

Czytaj dalej...