Amerykański programista, Jamie Zawinski, napisał kiedyś słynne słowa o wyrażeniach regularnych: “Niektórzy ludzie, gdy napotykają na problem, myślą sobie: »Wiem! Użyję wyrażeń regularnych«. I teraz mają dwa problemy”. W tym artykule przekonamy się jak prawdziwe są to słowa, jeżeli wyrażenie regularne zostało napisane w sposób niewłaściwy, umożliwiając tym samym przeprowadzenie…
Czytaj dalej »
W artykule: poznacie ciekawy sposób na odczytywanie tokenów z innej domeny,
dowiecie się jak zrobić XSS-a za pomocą jQuery, zobaczycie, w jaki sposób złamać Same-Origin Policy za pomocą Flasha.
Czytaj dalej »
W artykule przedstawiamy kilka podstawowych zasad, których stosowanie pozwala niskim kosztem zwiększyć ogólny poziom bezpieczeństwa aplikacji webowej.
Czytaj dalej »
W tekście wyjaśniono ogólną zasadę działania generatorów liczb pseudolosowych na przykładzie algorytmu XorShift128+, używanego w implementacji funkcji Math.random() we wszystkich najpopularniejszych przeglądarkach. Następnie pokazano, w jaki sposób, używając do tego narzędzie Z3Prover, ustalić stan generatora, znając tylko trzy kolejne liczby zwrócone przez Math.random().
Czytaj dalej »
Spora część aplikacji webowych umożliwia wgranie własnego pliku na serwer poprzez podanie adresu URL, skąd zostanie on automatycznie pobrany na serwer. W tym artykule omówimy jakie problemy mogą wynikać z takiego rozwiązania – innymi słowy poznamy podatność Server-Side Request Forgery (SSRF).
Czytaj dalej »
Analiza zrzutów pamięci to technika przydatna gdy proces niespodziewanie kończy swoje działanie, a w logach, czy systemach monitoringu nie mamy wystarczających informacji aby tę sytuację wyjaśnić. W złożonych systemach zdarza się także, że trudno jest problem reprodukować, co z kolei znacznie utrudnia debugowanie, a w konsekwencji przygotowanie poprawki. W artykule wyjaśniono jak przygotować zrzuty pamięci oraz jak je analizować.
Czytaj dalej »
W trzecim kwartale zeszłego roku zgłosiłem do Mozilli błąd bezpieczeństwa, który pozwalał na ominięcie Same Origin Policy (SOP) w przeglądarce Firefox. Dzięki temu, możliwe było przeprowadzanie ataków polegających na wykradaniu danych należących do innych domen. Źródłem problemu był pewien pozornie mało istotny detal przy parsowaniu adresów IP.
Czytaj dalej »
W niniejszym artykule opiszę trzy XSS-y, które zgłaszałem do Google w tym roku w ramach ich programu bug bounty. Wszystkie z nich miały swoje źródło w możliwości wyjścia z sandboksa w narzędziu Google Caja.
Czytaj dalej »
Na rozwal.to wylądowały nowe zadania. Do wygrania wejściówka na Confidence 2016.
Czytaj dalej »
Na koniec roku przygotowaliśmy paczkę zadań na rozwal.to – i możliwość wygrania wejściówki na Semafor 2016.
Czytaj dalej »
Upload plików zalicza się do najczęściej występujących funkcjonalności w webaplikacjach. Zazwyczaj wiąże się z wgrywaniem na serwer obrazków bądź dokumentów. Jest zarazem miejscem, na które bardzo chętnie patrzą pentesterzy, ze względu na liczne błędy bezpieczeństwa w implementacjach. W tym artykule przedstawimy najczęściej występujące błędy oraz pokażemy, w jaki sposób mogą zostać wykorzystane. Omówimy także sposoby obrony.
Czytaj dalej »
Mozilla wydała dzisiaj nową wersje swojej przeglądarki – Firefoksa 42.0. Jakie czekają nas nowości? Wprowadzono nowy tryb ochrony przed śledzeniem w trybie prywatnym, Po raz pierwszy została wydana natywna wersja na 64-bitowe Windowsy, Informacja o tym, która zakładka w przeglądarce wydaje dźwięk wraz z możliwością jego wyciszenia, Naprawiono 18 błędów bezpieczeństwa,…
Czytaj dalej »
W trzeciej części serii o deobfuskacji JavaScriptu zajmiemy się omówieniem dodatkowych narzędzi, które mogą być stosowane równolegle do omawianego wcześniej JSDetox.
Czytaj dalej »
W artykule znajduje się opis sposobu wykorzystania podatności PHP Object Injection do wykonania dowolnego kodu w aplikacji korzystającej z frameworka Zend 2.
Czytaj dalej »
Bezpieczne połączenia przy użyciu protokołu HTTPS stanowią jeden z podstawowych budulców dzisiejszego Internetu. HTTPS zapewnia poufność, integralność oraz autentyczność komunikacji. Ten ostatni cel jest realizowany dzięki standardowi X.509, który definiuje infrastrukturę klucza publicznego. Model zaufania oparty na X.509 ma jednak pewną fundamentalną wadę, której rozwiązaniem ma być mechanizm HTTP Public Key Pinning (HPKP).
Czytaj dalej »