Dzisiaj mała rzecz – a cieszy może czasem doprowadzić do poważnych problemów. Zapewne każdy z nas wielokrotnie korzystał z mechanizmu przypominania hasła – wpisujemy tam login lub e-mail i oczekujemy na wiadomość linkiem umożliwiającym reset hasła. Oczywiście link posiada tzw. token (odpowiednio długi losowy ciąg znaków) potwierdzający, że mogę zmienić…
Czytaj dalej »
W zeszłym roku pojawił się ~nowy rodzaj ataków: HTTP Request Smuggling. Jak sama nazwa wskazuje chodzi o pewne „przemycanie” żądań HTTP w komunikacji atakującego. Po co? Ano po to żeby np. dostać się do panelu administracyjnego bez uwierzytelnienia czy wstrzyknąć coś „ciekawego” innemu użytkownikowi atakowanego serwisu webowego. Ciekawe wykorzystanie tego błędu zapewne…
Czytaj dalej »
Ta podatność w GitHub-ie warta jest wspomnienia ze względu na kilka różnych ciekawostek. Całość dotyczy wydawałoby się bezpiecznego mechanizmu OAuth. Ale od początku, GitHub definiuje taki URL: https://github.com/login/oauth/authorize Realizuje on dwie funkcje – jeśli dostaniemy się tam GET-em otrzymujemy ekran logowania, z kolei POST wysyłany jest w momencie kiedy użytkownik…
Czytaj dalej »
Cały, rozdział naszej książki o bezpieczeństwie aplikacji webowych dostępny jest tutaj: Podstawy protokołu HTTP (pdf). To jeden ze wstępnych rozdziałów przygotowujących czytelnika do analizy meandrów różnych podatności. Przeczytacie tutaj o zupełnych podstawach, ale jest też nieco smaczków dla bardziej zaawansowanych czytelników jak np. świeża tematyka HTTP request smuggling czy zupełnie…
Czytaj dalej »
Protokołu HTTP/1.x używa każdy. Jednak tworzony był on lata temu, momentami nie jest więc zbyt optymalny jeśli chodzi o prędkość (delikatnie rzecz ujmując). Jako odpowiedź na ten problem powstał HTTP/2 – tak, też w tym przypadku mamy na sekuraku dostępny dość rozbudowany poradnik :) W dużym skrócie – mamy tutaj…
Czytaj dalej »
Czy chcemy, by obecne aplikacje webowe mogły działać szybciej bez ponoszenia nakładów na lepsze łącza sieciowe czy infrastrukturę serwerową? Oczywiście, że tak – i taki właśnie główny cel przyświecał twórcom protokołu HTTP/2. Dokładniej rzecz ujmując, chodziło o zwiększenie wydajności komunikacji pomiędzy klientem (czyli najczęściej przeglądarką internetową) a serwerem, przy jednoczesnym…
Czytaj dalej »
Opis podatności CVE-2019-0211 tutaj: Flaw in Apache HTTP Server 2.4.17 – 2.4.38 allows anyone you allow to write a script (PHP, CGI,..) to gain root. Get 2.4.39 *now* especially if you have untrusted script authors or run shared hosting (or use mod_auth_digest, due to a separate flaw) Czyli mając dostęp…
Czytaj dalej »
Rozwiązania z dziedziny bezpieczeństwa starają mitygować zagrożenia, które pojawiają się w świecie aplikacji internetowych. Jednym z przykładów takich działań jest możliwość dodania do ciasteczek HTTP flagi SameSite. Sprawdźmy, jak działa SameSite oraz przed jakimi niebezpieczeństwami może nas ochronić.
Czytaj dalej »
Nagłówki HTTP, URL, URI, żądania, odpowiedzi, kodowanie procentowe, formularze HTML, parametry przesyłane protokołem HTTP, różne implementacje serwerów HTTP skutkujące problemami bezpieczeństwa – to tylko kilka elementów, którymi zajmę się w tym tekście.
Czytaj dalej »
IESG (The Internet Engineering Steering Group) zaakceptowało kod odpowiedzi serwera HTTP – 451 i przekazało do dalszej standaryzacji. Warto jednak zaznaczyć, że nazwa kodu została opisana w bardziej eufemistyczny sposób niż w tytule naszego posta, tj.: „451 unavailable”: Error 451 is a new error code that we want ISPs to show when people visit…
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 »
Praktycznie wszystkie powszechnie używane dziś frameworki są zabezpieczone przed atakiem HTTP Response Splitting. „Prawie” robi czasem dużą różnicę – w tekście pokażemy realny przykład podatności HTTP Response Splitting w google.com
Czytaj dalej »
Publikujemy drugą część mini serii o protokole SPDY. Po łagodnym wprowadzeniu – czas na więcej technikaliów.
Czytaj dalej »
W czasie, kiedy obserwujemy postępującą webizację aplikacji oraz wzrost wielkości stron w Internecie, ważne jest, aby wydajnie i bezpiecznie dostarczać dane do użytkownika. Protokół HTTP w wersji 1.1 nie robi tego zbyt dobrze… Czy oznacza to, że jesteśmy skazani na coraz wolniejsze działanie aplikacji w sieci?
Czytaj dalej »
W kolejnym odcinku opisującym nagłówki HTTP związane z bezpieczeństwem webowym skupimy się na HSTS czyli HTTP Strict Transport Security. Protokół HTTP nigdy nie był projektowany z myślą o bezpieczeństwie. W czasie, kiedy powstawały jego pierwsze wersje, z sieci komputerowych korzystały naukowe ośrodki obliczeniowe i paru naukowców.
Czytaj dalej »