Zadania związane z obfuskowanym kodem JavaScript zostały rozwiązane, głównie przez Krzysztofa Kotowicza. Planowałem przygotować jeszcze jedną mutację tego zadania, ale ostatecznie chyba ją sobie odpuszczę, przynajmniej na razie. Do rozwiązania pozostają jeszcze inne zadania, związane z phishingiem na formatce logowania, oraz kontrolą dostępu do funkcji. Pora na wyjaśnienie zadania dotyczącego kontroli dostępu do funkcji.
Skusiłem się ostatnio na książkę 2012: Gniew Ojca. Choć widywałem ją w księgarni od pewnego czasu, jakoś omijałem ją szerokim łukiem. Rok 2012 w tytule sugerował kolejnego katastroficznego gniota, ale...
Zastanawiałem się właśnie nad pewnym scenariuszem ataku, do którego przydatny byłby XMLHttpRequest. Scenariusz był raczej mało prawdopodobny z uwagi na mechanizm same-origin policy , ale spróbować można. W trakcie tej próby trafiłem na kolejny przykład moich “ulubionych” różnic między przeglądarkami. Chodzi mianowicie o same-origin policy dla XMLHttpRequest, a w zasadzie o różne postępowanie przeglądarek w przypadku, gdy same-origin policy jest naruszone. Okazuje się, że Interrnet Explorer w przypadku naruszenia zasad same-origin policy nie wyśle żądania, Firefox i Chrome (a może i inne przeglądarki) żądanie wyślą. Zresztą mają ku temu pewne uzasadnienie, ale o tym później.
W poprzednim wpisie być może nie do końca jasno napisałem o co chodzi w zadaniu, bo nie wierzę by zadanie było tak trudne, że nikt nie jest w stanie go rozwiązać.
Pojawiło się nowe rozszerzenie do Fiddlera: x5s – automated XSS security testing assistant. Koncepcja działania narzędzia jest dość prosta, a jednocześnie – skuteczna. Plugin ten po prostu monitoruje żądania wysyłane w trakcie pracy do aplikacji, a następnie fuzzuje je wstawiając w miejsce poszczególnych parametrów payload odpowiadający określonym przypadkom testowym. Rezultatem pracy narzędzia jest nie tyle lista XSS, co lista miejsc, w których XSS może wystąpić.
Oryginał tego wpisu dostępny jest pod adresem Narzędzie: x5s
Wszystkie prezentacje mają to do siebie, że z zasady nie wyczerpują tematu, obejmują zwykle jedynie jego fragment. Czasami po prezentacji pozostaje kilka tematów, które chciałoby się rozwinąć. Z tego powodu mam kilka uwag do prezentacji Przemka Skowrona pod tytułem Obsługa incydentów: Ataki na aplikacje webowe z SEConference 2k10. Uwagi te, a w zasadzie uzupełnienia, bo sama prezentacja bardzo mi się podobała, dotyczą następujących kwestii:
Wpis Łeb prawie 2.0 czyli coś trzeba zmienić powstał prawie dwa miesiące temu. Udało mi się nieco zmniejszyć ilość źródeł informacji, które śledzę. To znaczy źródeł informacji nadal jest wiele, ale są one agregowane w jednym miejscu. Kolejną pozytywną zmianą jest fakt, że z zebranymi informacjami zapoznaję się wtedy, gdy mam na to ochotę. Oczywiście, nadal nie jest idealnie, wiele pozostaje do poprawy, ale jakiś krok został zrobiony... Tylko, że w miejsce wyeliminowanych upierdliwości pojawiają się nowe. Może nie całkiem nowe, one istniały wcześniej, ale były “zasłaniane” przez rzeczy bardziej uciążliwe.
Do prezentowanej przed świętami listy wyzwań dodaję kolejne zadanie. Pod adresem http://bootcamp.threats.pl/lesson20/main.php znajduje się strona, która coś robi. Zadanie polega na ustaleniu czym jest to coś. Przykład powinien działać w IE, Firefox i Chrome, samo zadanie nie jest jakoś specjalnie skomplikowane, choć powinno zająć chwilę czasu.
Przy okazji – tak, po drodze powinien być Bootcamp XIX i nawet częściowo jest gotowy, ale brakuje mu oprawy. Jakiej – to się jeszcze okaże :)