Paweł Goleń, blog

Przekazywanie identyfikatorów sesji w URL jest ZŁE (mówiłem o tym w prezentacji o zarządzaniu sesją na spotkaniu OWASP). Sama koncepcja umieszczenia w URL dodatkowej unikalnej informacji już zła nie jest, oczywiście zależy do czego będzie ona wykorzystywana. Zawarcie w URL losowego tokenu powoduje, że atakujący nie będzie w stanie przygotować odpowiedniego URL, co przeprowadzenie kilku typów ataków skutecznie utrudni. Więcej: Improving Security with URL Rewriting.

Czytaj dalej...

Wyjaśnienie – jak usunąć wiadomość, jeśli przycisk “Usuń” jest wyłączony: Bootcamp III: “kontrola dostępu” do funkcji.

Czytaj dalej...

Kolejne zadanie: należy usunąć wiadomości, dla których opcja usuwania jest niedostępna: http://bootcamp.threats.pl/lesson03/. Trywialne? Fakt, i dlatego fakt stosowania tego typu technik “kontroli dostępu do funkcji” przeraża. Przykład pisany na szybko, ale powinien działać. Można usuwać bez obaw, dla każdej sesji tworzona jest osobna “baza danych” (sqlite, choć to nie jest istotne).

Czytaj dalej...

W dniu 23 kwietnia będę prowadził prezentację na XXIV spotkaniu SPIN. Tematem prezentacji będą testy bezpieczeństwa aplikacji internetowych, ale nie tylko.

Czytaj dalej...

Po 1 kwietnia Conficker zmienił nieco sposób swojej aktualizacji. Obecnie wygląda to tak, że codziennie wybieranych jest losowo 500 domen z listy 50 000. Ile trzeba zarejestrować domen, by szansa, że poszukujący aktualizacji malware ją znajdzie, była “duża”? Tu dodatkowo trzeba uwzględnić paradoks dnia urodzin: Birthday Problem and Conficker.

Czytaj dalej...

Mój znajomy poszukuje kogoś, kto podejmie się napisania prostego programu. Program ma służyć jako tłumacz między dwoma urządzeniami podłączanymi do komputera przez porty rs232. Zasada działania ma sprowadzać się do odczytania danych przesyłanych przez pierwsze urządzenie, sprawdzenie “w słowniku” co to urządzenie chce powiedzieć, a następnie przekazanie tego do drugiego urządzenia z wykorzystaniem znanego, zdefiniowanego protokołu. Jeśli ktoś chce podjąć się takiego zlecenia, przekażę namiary w celu uzgodnienia dalszych szczegółów.

Czytaj dalej...

Kolejny odcinek, również prosty. Dotyczy “kontroli dostępu” do danych, która realizowana jest na zasadzie “czego użytkownik nie kliknie, to NA PEWNO jest bezpieczne”, czyli przypadku, gdy taka kontrola realizowana jest wyłącznie w GUI. Bootcamp: “kontrola dostępu” do danych.

Czytaj dalej...

Zawsze wolałem Wołoszańskiego od Baliszewskiego. Jakoś ostatnio pojawił się w kinach film Generał – Zamach na Gibraltarze , który powstał “na podstawie badań” Baliszewskiego właśnie. O ile się nie mylę, to żenujący spektakl z ekshumacją zwłok Władysława Sikorskiego zakończył się wykluczeniem wersji (a to niespodzianka) o wcześniejszym otruciu lub zastrzeleniu... Ja rozumiem, że można “bawić się” historią, to nawet bywa ciekawe i inspirujące, gdy buduje się alternatywną wizję świata na zasadzie “co by było, gdyby”, ale albo coś jest fikcją, albo biografią. Wiem na pewno na co nie pójdę do kina... A przy okazji – nie życzę sobie, by moje pieniądze szły na badania odnośnie tego, czy ksiądz Jankowski był “kontaktem operacyjnym” (Ksiądz Jankowski to kontakt operacyjny SB) albo czy Wałęsa miał nieślubnego syna i gdzie nasikał, a gdzie nie (Lech Wałęsa – idea i historia). Po prostu nie interesuje mnie to , to już nie jest nawet śmieszne, to jest żenujące.

Czytaj dalej...

Kilka razy widziałem pytanie na grupach dyskusyjnych, w jaki sposób można otrzymać informację, że jakiś plik został zmodyfikowany (lub stworzony). Jest to dość proste do zrealizowania, choćby za pomocą klasy System.IO.FileSystemWatcher. Oczywiście można zejść niżej do funkcji API typu FindFirstChangeNotification czy ReadDirectoryChangesW. Można też skorzystać z [dzienników zmian (Change Journals)](). Można również wykorzystać do tego celu WMI.

Czytaj dalej...

Tym razem drobne wyjaśnienie odnośnie jakie typy zagrożeń dotyczą poszczególnych typów obiektów (z diagramów DFD). Istnieje kilka wersji matrycy przyporządkowującej zagrożenia do elementów, kilka słów na ten temat.

Czytaj dalej...