Praktyczny kurs prowadzony przez znanego badacza bezpieczeństwa Kamila Jarosińskiego– dwa dni warsztatów nt. praktycznej strony bezpieczeństwa aplikacji webowych w kontekście podatności po stronie frontendu.
Każda podatność zostanie poprzedzona krótkim wstępem teoretycznym – z uwzględnieniem różnic w możliwości wykonywania jej w najpopularniejszych przeglądarkach.
Do kogo skierowane jest szkolenie:
-
- Do programistów
- Do devopsów
- Do pentesterów
- Do zainteresowanych tematyka bezpieczeństwa aplikacji webowych
Czego nauczysz się podczas szkolenia:
-
- Dowiesz się o najczęściej występujących podatnościach we frontendzie aplikacji webowych, takich jak: Cross-Site Scripting czy CSS Injection.
- Zobaczysz jakie zagrożenia stwarzają popularne frameworki JavaScript – jQuery AngularJS / React / itp
- Poznasz mniej typowe podatności
- Poznasz warsztat bugbountera
- Nauczysz się sprytnych metod omijania filtrów
- Poznasz metody ochrony
Agenda:
- Wprowadzenie do szkolenia i technologii client-side.
- Cross-Site Scripting – najistotniejsza podatność świata client-side.
-
- omówienie Same Origin Policy
- omówienia i trening praktycznych skutków XSS-ów,
- typy XSS,
- omówienie punktów wejścia XSS (parametry GET/POST, pliki Flash, pliki SVG, upload plików)
- omówienie punktów wyjścia XSS (niebezpieczne funkcje JS, konteksty w HTML)
- omówienie metod ochrony przed XSS
- techniki omijania filtrów XSS
- XSS-y a dopuszczanie fragmentów kodu HTML.
- Inne ataki działające po stronie przeglądarek:
-
- Cross-Site Request Forgery
- Clickjacking,
- RPO (Relative Path Overwrite)/ataki z użyciem CSS,
- JSON hijacking,
- Dangling markup.
- Problemy bezpieczeństwa elementów API HTML5:
-
- postMessage,
- CORS (Cross-Origin Resource Sharing),
- Service Workers,
- Web Sockets.
- Content-Security-Policy – remedium na problemy bezpieczeństwa czy piekło wdrożenia?
-
- wyjaśnienie idei CSP,
- omówienie dyrektyw CSP,
- omówienie sposobów obejścia CSP,
- omówienie problemów przy wdrażaniu CSP.
- Sposoby zwiększania bezpieczeństwa frontendu
-
- nagłówki bezpieczeństwa (X-Frame-Options, Public-Key-Pins, Strict-Transport-Security i inne),
- flagi ciasteczek,
- dobre praktyki w pisaniu aplikacji.
- Biblioteki JS (jQuery, Angular, React, Knockout)
-
- problemy bezpieczeństwa bibliotek JS,
- wstrzyknięcia szablonów,
- naruszenie dotychczasowych założeń bezpieczeństwa.
- Bug bounty
-
- kwestie organizacyjne programów bug bounty na przykładzie Google
- techniczne omówienie znalezionych błędów.
- Ćwiczenie podsumowujące – wykorzystanie podatności client-side do
wydobywania danych z innych domen.
- Podsumowanie szkolenia: krótkie podsumowanie wszystkich metod ataku
i ochrony omawianych na szkoleniu.
Przydatne informacje:
Szkolenie prowadzone jest obecnie w wersji zdalnej, według tego samego programu co szkolenia stacjonarne, uczestnicy wykonują te same ćwiczenia a instruktor jest do dyspozycji uczestników przez cały czas trwania szkolenia.
Do szkolenia w wersji zdalnej wymagany jest laptop z dowolnym systemem operacyjnym, z przeglądarką Firefox / Chrome, stabilny internet i słuchawki z mikrofonem.
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.: (12) 36 13 337
Co zawiera cena szkolenia:
-
- Udział w szkoleniu i dostęp do platformy szkoleniowej.
- Certyfikat ukończenia szkolenia (PDF).
- Rozwiązania ćwiczeń w formie PDF
O prowadzącym:
Kamil Jarosiński jest konsultantem ds. bezpieczeństwa IT w firmie Securitum. Posiada 6 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.
Opinie uczestnikków o szkoleniu:
Fajnie, ze były przykłady z realnych sytuacji. Też mi się spodobały zadanka prawie po każdym bloku, które, uważam, bardzo dobrze pomagają zapamiętać materiał.
Wiedza i kompetencje prowadzącego, dobre przekazanie wiedzy, interesujący temat szkolenia i realne korzyści z nabytej wiedzy.
Having a chance to practice and to experiment what was introduced with the right timing, the right resources and the right support in case of doubts. It made the difference between a common course and a real training. Well done!
Dał bym trenerowi najwyższą możliwą ocenę. Tak jak wspomniałem, jest on bardzo kompetentny, odpowiadał na pytanie w jasny sposób, był świetnie przygotowany. Widać, że jego praca jest też jego pasją.
Extremely well presented, explained, clarified, well tracked program/exercises solutions, extremely delicate in receiving questions and support request from the audience, extremely patient to receive some (unneeded imho) critic/corrections from some attendee Really well done, thanks for that!