Bootcamp IX: encoding (przykład)
Tym razem trochę pracy u podstaw. Jest to praktyczna demonstracja tego, że encoding danych wyjściowych jest potrzebny oraz tego, że powinien być realizowany w sposób zależny od kontekstu, w którym dane są użyte.
Tym razem trochę pracy u podstaw. Jest to praktyczna demonstracja tego, że encoding danych wyjściowych jest potrzebny oraz tego, że powinien być realizowany w sposób zależny od kontekstu, w którym dane są użyte.
UWAGA: zgodnie z zapowiedziami jutro przestawiam feed RSS na FeedBurner.
Oryginał tego wpisu dostępny jest pod adresem Jutro przestawiam feed RSS na FeedBurner
Autor: Paweł Goleń
Jest sobie projekt OWASP Enterprise Security API. Do niego jest przykładowa aplikacja ESAPI Swingset. W ramach tego przykładu jest między innymi plik EncodingSecure.jsp. Zwracam uwagę, że jest to EncodingSecure.jsp, czyli przykład dobrego przykładu (w odróżnieniu od przykładu złego przykładu EncodingInsecure.jsp). Encoding jest jedną z metod zapobiegania XSS (CWE-79: Failure to Preserve Web Page Structure ('Cross-site Scripting')). Czy tylko ja dostrzegam tu pewien akcent humorystyczny?
Hint : yvavn pmgreanfgn
Oryginał tego wpisu dostępny jest pod adresem Spot the bug: przykład w ESAPI
Autor: Paweł Goleń
W pewnej chwili mój system (Windows Vista) zaczął zachowywać się w sposób, który był dla mnie kompletnie nie do zaakceptowania. Mianowicie sporadycznie (ale na tyle często, by było to bardzo irytujące) pojawiał się memory leak.
...na nietypowym przykładzie wycieczki rowerowej.
To nie do końca jest wpis techniczny. W trakcie korespondencji z Karolem przy rozwiązywaniu wyzwania (jak na razie tylko Karol mu podołał, zapraszam do dalszej zabawy: http://bootcamp.threats.pl/lesson08/, zadanie jest proste – wystarczy się zalogować) zauważyłem, że chyba nie do końca dobrze wyjaśniłem koncepcję blind sql injection. Spróbuję to trochę lepiej wyjaśnić.
Istnieje przynajmniej jedna osoba, która usiłuje podołać wyzwaniu. Ktoś więcej próbuje? Patrząc w logi mam pewne wątpliwości... W każdym razie pora na kolejne wskazówki.
W zasadzie nie tyle bloga, co treści. Głównie chodzi o format wpisów, zrobiłem kilka modyfikacji przy migracji, część z nich działa tak jak chciałem, część z nich nie do końca i wymagane są ręczne poprawki. Planuję po prostu przejrzeć kilka najpopularniejszych wpisów i je nieco odświeżyć (pod względem formatowania). Jeśli ktoś zauważy, że jakiś istotny/interesujący wpis wygląda beznadziejnie, niech da mi znać, również go poprawię.
Oryginał tego wpisu dostępny jest pod adresem Refaktoring bloga
Autor: Paweł Goleń
Jak pewnie zauważyliście blog zaczął wyglądać nieco inaczej. Jest to sygnał, że migracja (chyba) została zakończona. Niedługo zmienione rekordy DNS rozejdą się po sieci i ruch będzie kierowany tutaj, zamiast na starą instancję bloga. Wówczas spróbuję przenieść kilka komentarzy, które pojawiły się w trakcie migracji, do nowej instancji bloga.
Może pojawiać się błąd 403 (na razie nieobsłużony). To wynik ograniczeń, które nałożyłem w .htaccess, być może zbyt restrykcyjnych. Z czasem wprowadzę potrzebne poprawki. Kilka innych zmian również czeka w kolejce, ale nie wszystko na raz. No dobra, jeszcze RSS na FeedBurner puściłem i prosiłbym o aktualizację.
EDIT : w przyszły weekend zablokuję “stary” kanał RSS, dostęp będzie możliwy tylko przez FeedBurner. Stary adres będzie przekierowywał na FeedBurner, ale nie wiem jak się zachowają różne czytniki RSS gdy natrafią na przekierowanie...
Oryginał tego wpisu dostępny jest pod adresem I po migracji (chyba)
Autor: Paweł Goleń
Wciąż nikt nie poradził sobie z wyzwaniem http://bootcamp.threats.pl/lesson08/, a przynajmniej nikt się tym nie chwali. Cóż, pora na kolejną podpowiedź. Skoro wiadomo już, że można rozróżnić między sytuacją nieprawidłowy użytkownik a prawidłowy użytkownik, nieprawidłowe hasło , to co się stanie, gdy do nazwy istniejącego użytkownika (dwie z nich podane są w komentarzach) doda się coś w stylu ' and 1=1 — lub ' and 1=0 —?
Oryginał tego wpisu dostępny jest pod adresem Bootcamp VIII: wyzwanie (hint II)
Autor: Paweł Goleń