Nowy OWASP TOP 10 ogłoszony w listopadzie 2025 to dwie nowe kategorie i wiele zmian w kolejności poszczególnych podatności.
Jeżeli chcesz być na bieżąco z obecnymi trendami, to zaprawszamy właśnie na szkolenie "Praktyczne wprowadzenie do OWASP Top Ten (edycja 2025)"
Co powinieneś wiedzieć
- Szkolenie jest wprowadzeniem w tematykę bezpieczeństwa aplikacji webowych.
- Przydatna jest podstawowa wiedza związana z budową aplikacji webowych (HTML/ JS) oraz komunikacją HTTP.
Do kogo skierowane jest szkolenie
- programistów / testerów
- testerów bezpieczeństwa
- pentesterów
- architektów / projektantów
- administratorów
- osoby odpowiadające za proceduralne aspekty bezpieczeństwa / menagerowie
Czego nauczysz się podczas szkolenia
- dowiesz się czym jest popularny standard bezpieczeństwa aplikacji webowych OWASP Top Ten i jak możesz go używać w swojej firmie,
- dowiesz się, w jaki sposób pisać bezpieczniejszy kod; być może nawet natychmiast po szkoleniu zidentyfikujesz błędy w swoim kodzie! (raz na jakiś czas dostajemy od naszych uczestników informacje typu: “popatrzyłem wieczorem na moją aplikację i znalazłem takie dziury, o których była dzisiaj mowa!”),
- będziesz już wiedział gdzie czają się największe niebezpieczeństwa dla aplikacji webowych,
- poznasz nowe, praktyczne sztuczki pozwalające znajdować mniej znane problemy bezpieczeństwa w aplikacji,
- poznasz konkretne rozwiązania architektoniczne minimalizujące ryzyko błędów bezpieczeństwa w aplikacji webowej,
- dowiesz się, co to może znaczyć, że aplikacja ma być “zgodna z OWASP 10” – i czy w ogóle jest to możliwe – i jakie kroki należy poczynić, by było to prawdą,
- będziesz też umieć sprawniej rozmawiać z programistami czy osobami odpowiedzialnymi za techniczne bezpieczeństwo IT w firmie o bezpieczeństwie aplikacji www,
Agenda
Na szkoleniu omawiamy każdy z punktów najnowszej (listopad 2025) wersji OWASP TOP 10 pod następującym kątem:
- jakich problemów bezpieczeństwa dotyczy dany punkt,
- jak dane błędy mogą zostać wykorzystane,
- co można zrobić, by zminimalizować ryzyko wykorzystania tych błędów.
Omówione są zatem następujące punkty:
- A01 Broken Access Control
- A02 Security Misconfiguration
- A03 Software Supply Chain Failures
- A04 Cryptographic Failures
- A05 Injection
- A06 Insecure Design
- A07 Identification and Authentication Failures
- A08 Software and Data Integrity Failures
- A09 Security Logging and Monitoring Failures
- A10 Mishandling of Exceptional Conditions
(czytaj dalej, jeśli chcesz wiedzieć, co dokładnie omówimy w każdym z tych punktów)
A01:2025 – Broken Access Control (rozszerzony)
W najnowszej wersji OWASP TOP 10, błędy kontroli dostępu zajmują wciąż zaszczytne pierwsze miejsce. Dodatkowo punkt ten został poszerzony o SSRF, które w edycji 2021 zajmowały pozycję 10 w zestawieniu. W największym skrócie podatności tego typu polegają na nieodpowiedniej weryfikacji uprawnień do zasobów, w efekcie czego napastnik uzyskuje dostęp do danych, do których nie powinien mieć dostępu. Brzmi skomplikowanie? To nic! By lepiej zrozumieć zagadnienie, zobaczymy tutaj szereg praktycznych przykładów błędów tego typu, np.:
- Jak uzyskać dostęp do faktur innych użytkowników,
- Jak zmienić hasło innemu użytkownikowi,
- Jak uzyskać pełny dostęp do bazy danych,
- Jak wykraść dane użytkownika przez błędną konfigurację CORS,
- Jak dostać się do poufnych danych przez publiczne listingi katalogów.
W odpowiedzi na te problemy poznamy najistotniejsze sposoby zabezpieczania dostępu do zasobów, np. RBAC (role-based access control), zasadę najmniejszych uprawnień, rate limiting czy odpowiednie polityki CORS.
A02:2025 – Security Misconfiguration (+3 pozycje)
Czasem błędy bezpieczeństwa w aplikacji webowej nie wynikają z problemów w kodzie, ale z niewłaściwej konfiguracji aplikacji lub jej środowiska. O tym właśnie będzie ten punkt. Zobaczymy kilka przykładów, do czego może się przydać poznanie zawartości katalogów na serwerze; dlaczego na serwerach produkcyjnych nie należy wyświetlać dokładnych stack trace’ów czy też dlaczego powinniśmy zmieniać domyślne hasła do usług.
A03:2025 – Software Supply Chain Failures (NOWOŚĆ)
Rozwinięcie dotychczasowego punktu A06:2021 Vulnerable and Outdated Components udowadnia zasadność dbałości o cały ekosystem w jakim działa dany system, w tym dotychczasowe rekomendacje dotyczące utrzymywania komponentów aplikacji (bibliotek, zależności itp.) w najnowszych wersjach, a przynajmniej w wersjach niezawierających znanych podatności.
W tym rozdziale poznamy przykłady narzędzi, które pozwalają na weryfikację, czy używane przez nas zależności zawierają znane błędy bezpieczeństwa. Zobaczymy także, jak proces weryfikacji wersji zintegrować z procesem rozwoju aplikacji.
A04:2025 – Cryptographic Failures (-2 pozycje)
Błędy w kryptografii mogą być subtelne, ale jeśli już występują, to zazwyczaj mają porażającą moc. Pozwalają zwykle na deszyfrację danych innych użytkowników lub uzyskanie dostęp do ich konta.
O kryptografii, jako nauce, moglibyśmy zrobić osobne, nawet 5-dniowe szkolenie. Tutaj jednak w sposób skondensowany przedstawimy problemy, z którymi w aplikacjach webowych musimy się najczęściej mierzyć w zakresie kryptografii i przedstawimy odpowiedzi na następujące pytania:
- W jaki sposób skonfigurować połączenie TLS do naszych usług, oraz jak przetestować, czy konfiguracja spełnia najnowsze standardy?
- Jak podejść do szyfrowania danych “w spoczynku” (tj. np. przy zapisie do bazy danych)?
- Czy sam fakt użycia szyfrowania danych bezpiecznym algorytmem szyfrującym czyni je automatycznie pod każdym względem bezpiecznymi?
- Czy można odgadnąć losowe tokeny, np. tokeny do resetu hasła?
- Jak radzić sobie z przechowywaniem kluczy API oraz innych secretów w aplikacji?
- W jaki sposób przechowywać hasła w bazie danych?
A05:2025 – Injectionn (-2 pozycje)
Podatności typu “Injection” są jednymi z najsłynniejszych problemów bezpieczeństwa aplikacji, głównie kojarzonymi z SQL Injection. Ale czy tylko? Okazuje się, że nie! Pokażemy ogólne podejście do podatności “Injection”, oraz dlaczego można się z nimi spotkać nie tylko w kontekście SQL.
Zobaczymy kilka przykładów tego typu podatności (zaczynając od najsłynniejszych, jak SQL Injection czy XSS, a kończąc na nieco rzadszych Server-Side Template Injection) oraz omówimy ogólny sposób myślenia o tego typu podatnościach, który pozwoli nam na zabezpieczenie się przed nimi, nawet jeśli dany typ “Injection” nie ma nawet swojej nazwy!
A06:2025 – Insecure Design (-2 pozycje)
Ten punkt jest niewątpliwie najbardziej ogólnym w najnowszej wersji OWASP TOP 10. Nie dotyka konkretnej podatności, a ogólnie błędów w projektowaniu aplikacji. Będzie zatem dobrą okazją, by porozmawiać o procesie budowy aplikacji. Dowiemy się czym jest S-SDLC (Secure Software Development LifeCycle) i jak można do wdrażać. Porozmawiamy o modelowaniu zagrożeń – dowiemy się jak je przeprowadzać i jak pomoże nam zrozumieć problemy bezpieczeństwa w naszej aplikacji.
Tradycyjnie przedstawimy też kilka przykładów praktycznych błędów, które mogły zostać wykryte na poziomie projektowania tej aplikacji. Gdyby zostały wówczas wykryte – koszt ich naprawy byłby o wiele mniejszy.
A07:2025 – Identification and Authentication Failures (pozycja bez zmian)
Błędy związane z identyfikacją lub uwierzytelnieniem zazwyczaj pozwalają na przejęcie konta użytkowników. Poznamy tutaj przykłady następujących ataków:
- Przejęcie konta użytkownika przez brute force loginu i hasła,
- Ominięcie zabezpieczeń pozwalających na ustalenie, czy dany login istnieje,
- Ominięcie dwuskładnikowego uwierzytelnienia,
- Błędy w procesie resetu hasła (np. poprzez nadpisanie nagłówka Host)
Dowiemy się, jak zabezpieczać się przed tymi konkretnymi przykładami ataków, ale także poznamy ogólne zasady dobrej implementacji tego procesu, niezależnie od tego, czy implementujemy go sami, czy też integrujemy się z zewnętrznym dostawcą (np. poprzez OpenID Connect). Dowiemy się także, jakie są obecnie najbardziej polecane zasady tworzenia polityki haseł.
A08:2021 – Software and Data Integrity Failures (pozycja bez zmian)
Kolejny punkt najnowszego OWASP TOP10, który dotyczy bardziej procesu rozwoju aplikacji, aniżeli konkretnych podatności. Dotyka on wszelakich błędów wynikających z braku sprawdzania integralności plików wykonywalnych oprogramowania.
Pokażemy tutaj m.in. następujący przykład: instalujemy zależność z npm, co do której mamy pewność, że jest bezpieczna. Gdy ta sama zależność jest instalowana w procesie CI/CD, okazuje się, że została zainstalowana inna, podatna na błędy bezpieczeństwa wersja! Jak to możliwe? Dowiemy się na szkoleniu 🙂
Przy okazji tego tematu omówimy sobie także ogólniej problemy związane z atakami na łańcuchy dostaw; zastanowimy się nad możliwymi sposobami minimalizacji tych ryzyk.
A09:2025 – Security Logging and Monitoring Failures (pozycja bez zmian)
Załóżmy, że w naszej aplikacji występuje incydent bezpieczeństwa, w wyniku którego ktoś pobiera poufne dane użytkowników. W tym momencie chcielibyśmy się dowiedzieć, w jaki sposób dokładnie doszło do tego włamania, i do jakich danych napastnik uzyskał dostęp… Niestety – jeśli nie logujemy wystarczająco dużo danych na temat naszych systemów, może okazać się, że nie będziemy w stanie wyciągnąć odpowiednich wniosków.
Dlatego w tym rozdziale omówimy w jaki sposób należy podejść do logowania danych w aplikacji webowej. Tj. jakie dane powinny być logowane, a jakie nie powinny być logowane.
Pokażemy też przykład aktywnego monitoringu, który pozwoli wykryć atak, nawet jeśli nie jest to atak stricte techniczny, a po prostu wynikający z pewnego nietypowego użycia aplikacji.
A10:2025 – Mishandling of Exceptional Conditions (NOWOŚĆ)
Zawiera 24 CWE wokół niepoprawnej obsługi błędów, błędów logicznych, failing open i podobnych scenariuszy
Przydatne informacje
- Szkolenie prowadzone on-line, w godzinach 9:00-16:30.
- Do udziału w szkoleniu potrzebny jest komputer z dostępem do internetu. Podczas wydarzenia będzie można zadawać prowadzącemu pytania na czacie.
- [UWAGA!] Link/Linki do szkolenia wysyłamy najpóźniej do dwóch dni przed szkoleniem w osobnej wiadomości, na podanego podczas rejestracji maila. Jeżeli nie dostałeś linka to napisz na szkolenia@securitum.pl podając numer zamówienia.
- Istnieje możliwość organizacji szkolenia w formie zamkniętej – dla zamkniętej grupy osób. Szkolenia takie organizujemy na atrakcyjnych warunkach finansowych. W przypadku zainteresowania tego typu szkoleniem prosimy o kontakt e-mail: szkolenia@securitum.pl, tel.: +48 516 824 029
Co zawiera cena szkolenia
- Udział w szkoleniu
- Dostęp do zapisu video ze szkolenia przez 30 dni.
- Certyfikat ukończenia szkolenia (PDF).
Opinie uczestników o szkoleniu
- „Bardzo dobrze, rzeczowo przygotowana robota, mnóstwo przykładów co lepiej oddaje problem niż tylko sucha teoria.”
- „Zdecydowanie dobra droga z nauczaniem przy użyciu lab. Wszystkie tematy były na swój sposób ciekawe, bo mimo iż SQL Injection chyba każdy szanujący się dev wypróbował na sobie samym, to jednak ciekawie było sobie to odświeżyć.”„Merytoryka, nie nudziło mi się, nie chciało się spać :)”
- „Jasna agenda, dużo ciekawych przykładów, temat bardzo dobrze rozwinięty”
- „Dużo praktyki i live codingu z przykładami. Fajne narzędzia i gotowe sprawdzone rozwiązania.”
- „Wszystko było bardzo ciekawie i obszernie omówione, najbardziej przydatne będą dla mnie Crypto failures, błedy w JWT, SSRF”
- „Mega pozytywne szkolenie. Intensywne i dużo skumulowanej, ale praktycznej wiedzy”
- „Jak wyżej pisałem, widać było dużą wiedzę [trenera], a pytania zadane w trakcie nie potrafiły go zaskoczyć”
O prowadzącym
Kamil Jarosiński jest konsultantem ds. bezpieczeństwa IT w firmie Securitum. Posiada 7 lat doświadczenia w prowadzenia testów penetracyjnych oraz szkoleń z zakresu bezpieczeństwa aplikacji webowych. Pasjonat bezpieczeństwa systemów IT lubiący dzielić się wiedzą. Prelegent na konferencjach branżowych m.in: Mega Sekurak Hacking Party, uczestnik programów Bug Bounty.