Kurs Bezpieczeństwo Aplikacji Webowych

Wprowadzenie

Koszyk Koszyk
  • Opis
  • Recenzje
  • Autor
  • Transkrypt
  • Pytania i odpowiedzi
  • QA

2 ocen

Wprowadzenie

Kwestia bezpieczeństwa aplikacji webowych lub stron WWW to temat, który staje się coraz bardziej popularny. Zarówno duże, jak i małe firmy stają się ofiarami ataków hakerów, a wyciek poufnych danych lub informacji może stanowić realne zagrożenie dla przedsiębiorstw. Dlatego jeżeli tworzysz lub zarządzasz aplikacją webową lub stroną WWW i chciałbyś wiedzieć, w jaki sposób odpowiednio ją zabezpieczyć, ten kurs jest właśnie dla Ciebie! Dowiesz się z niego nie tylko tego, jak hakerzy przełamują zabezpieczenia aplikacji oraz jakie konsekwencje może to za sobą nieść, ale też jak skutecznie chronić swoją aplikację lub stronę WWW oraz dane klientów przed atakami.

  1. SQL Injection oraz Command Injection
  2. Niepoprawna obsluga uwierzytelniania i sesji
  3. Clickjacking oraz ujawnienie poufnych danych
  4. Bledna konfiguracja zabezpieczen i kontroli dostepu
  5. XML External Entities (XXE) i Cross-Site Scripting (XSS)
  6. Uzywanie komponentów ze znanymi podatnosciami
  7. Niewystarczajace logowanie i monitorowanie
  8. Cross-Site Request Forgery (CSRF, XSRF)
  9. Niebezpieczna deserializacja
  10. I wiele, wiele wiecej!

Podstawy kryptografii

Pierwszym tematem, który został poruszony w kursie, jest kryptografia. By wprowadzić Cię w zagadnienia związane z bezpieczeństwem aplikacji webowych i stron WWW dowiesz się o podstawowych algorytmach kryptograficznych. Przekonasz się czym jest kryptografia symetryczna, asymetryczna, podpisywanie, funkcje skrótu czy certyfikaty. Poznasz również praktyczne przykłady ich użycia, nim przejdziemy do bardziej rozbudowanych zagadnień.

OWASP Top 10

Główna część kursu poświęconego bezpieczeństwie aplikacji webowych i stron WWW oparta jest na liście OWASP Top 10 – czyli liście dziesięciu najczęściej występujących błędów w aplikacjach webowych. Lista ta powstała w 2017 roku i opiera się na rzeczywistych danych uzyskanych od firm, organizacji i osób zawodowo zajmujących się testowaniem zabezpieczeń. W kursie omówimy każdy z najpopularniejszych błędów - poznasz praktyczne przykłady wykorzystania słabych punktów zabezpieczeń, metody działania hakerów i dowiesz się, jak skutecznie chronić przed nimi aplikację lub stronę. Co ważne, w większości przypadków, podatności zostaną zaprezentowane w aplikacji napisanej specjalnie na potrzeby kursu. Na koniec każdego rozdziału aplikacja będzie poprawiana, a omawiane błędy - eliminowane.

Błędy typu Injection oraz niepoprawna obsługa uwierzytelniania

W pierwszej kolejności w kursie omówione na praktycznych przykładach zostaną popularne błędy typu Injection, z SQL Injection na czele. Dowiesz się jak najczęściej wykorzystywane są przez hakerów tego typu błędy, co umożliwia im obejście uwierzytelniania oraz kradzież danych z aplikacji. Następnie omówione szczegółowo są błędy w implementacji uwierzytelniania i zarządzania sesjami użytkowników. Przekonasz się jak łatwo jest przejąć czyjąś sesję wtedy, gdy aplikacja nie stosuje podstawowych mechanizmów bezpieczeństwa. Po zapoznaniu się z tymi zagadnieniami dowiesz się, jak skutecznie uniknąć popełnienia tego typu błędów podczas zabezpieczania aplikacji lub strony WWW.

Ujawnienie poufnych danych i inne błędy

Kolejne trzy kategorie również będą dość rozbudowane. Pierwszą z nich jest ujawnienie poufnych danych. Poznasz praktyczne przykłady i wskazówki, by przekonać się na czym powinno polegać prawidłowe zabezpieczenie aplikacji przed wyciekiem danych. Następnie przejdziemy do błędu XXE, czyli XML External Entities. W rękach hakera błąd ten pozwala na otrzymanie dostępu do niemal dowolnego zasobu w sieci lokalnej, w której znajduje się serwer. Niesie to za sobą ogromne niebezpieczeństwo i przygotowując aplikację webową lub stronę WWW - należy odpowiednio ją przed nim zabezpieczyć. Następna, piąta już kategoria dotyczy niepoprawnej kontroli dostępu. Na przykładzie kilku ataków, takich jak directory traversal czy wgranie web shella, poznasz mechanizm działania niepoprawnej kontroli dostępu i dowiesz się, jak projektować i pisać aplikację, by nie popełniać tego typu błędów.

Błędna konfiguracja zabezpieczeń i XSS

W kolejnych częściach kursu zapoznasz się ze wszelkiego rodzaju błędami związanymi z niepoprawną konfiguracją środowiska i serwerów, a także błędami XSS - Cross-Site Scripting. Dowiesz się więcej o konfiguracji TLS i poznasz trzy rodzaje popularnej podatności XSS - Reflected XSS, Persistent XSS i DOM based XSS. Po zapoznaniu się z mechanizmem wykorzystywania takich błędów dowiesz się, jak nie dopuścić do ich wystąpienia w tworzonej przez Ciebie aplikacji webowej lub stronie WWW.

Deserializacja, używanie komponentów ze znanymi podatnościami i niewystarczające logowanie

Ostatnie trzy podatności, które znalazły się na rozbudowanej liście OWASP Top 10 to deserializacja, używanie komponentów ze znanymi podatnościami i niewystarczające logowanie oraz monitorowanie. Dowiesz się jak przesyłając odpowiednio przygotowane dane wejściowe można uzyskać zdalne wykonanie kodu po stronie serwera, oraz, oczywiście, jak przeciwdziałać takim atakom. Przekonasz się też jakie ryzyko niosą za sobą błędy związane z brakiem kontroli nad używanymi, zewnętrznymi komponentami oraz niewystarczającym logowaniem działań użytkowników.

Błędy spoza listy OWASP Top 10

znalazły się na liście OWASP Top 10, lecz mimo tego - warto je poznać. Ich popularność stopniowo maleje w związku z rozwojem frameworków, lecz nadal istnieje ryzyko ich wykorzystania przez hakerów. Pierwszym z tych błędów jest błąd CSRF, umożliwiający wykonanie pewnych akcji w ramach sesji zalogowanego użytkownika. Drugi to Clickjacking, czyli błąd umożliwiający przechwycenia kliknięcia i wykonanie niechcianej akcji.

Dla kogo jest ten kurs?

W związku z tym, że temat bezpieczeństwa jest niezwykle aktualny, a po wejściu w życie nowej, majowej ustawy dotyczącej bezpieczeństwa danych stanie się tylko bardziej popularny - kurs jest doskonałym wyborem dla osób z wielu branży i specjalizacji. Niezależnie od tego, czy jesteś testerem, developerem lub po prostu chcesz poznać najnowsze wytyczne dotyczące bezpieczeństwa aplikacji webowych i stron WWW - znajdziesz w kursie aktualne i przydatne informacje. Ogólne informacje o podatnościach zainteresują każdego, a wiedza z kursu pozwoli na szybkie wykrywanie oraz naprawianie ewentualnych błędów. Kurs przeznaczony jest zarówno dla developerów jak i testerów aplikacji webowych. Zawarte w nim informacje pomogą zrozumieć i poznać najczęstsze problemy związane z bezpieczeństwem aplikacji webowych. Testerzy znajdą w nim wiele praktycznych informacji o tym jak wykrywać błędy bezpieczeństwa. Developerzy z kolei dowiedzą się jak je naprawiać i jak zabezpieczać swoje aplikacje.

Dlaczego wybrać właśnie ten kurs?

  1. Kurs wideo to najbardziej efektywna a zarazem najprzyjemniejsza forma nauki. Jest on tak prowadzony, byś cały czas mógł go śledzić z zainteresowaniem i zaangażowaniem, a także czerpać satysfakcję ze zdobytej wiedzy!
  2. Wiedza, którą otrzymujesz w tym kursie, to nie tylko sucha teoria, ale również wskazówki od praktyka z wieloletnim doświadczeniem, dzięki którym dużo łatwiej będzie Ci opanować materiał i pracować efektywniej.
  3. Uczysz się na praktycznych przykładach. Kurs, który masz przed sobą to esencja praktycznej wiedzy i doświadczenia a także wzorów, które oszczędzą Ci godziny pracy i poszukiwań.

Autor: Grzegorz Goławski

Od ponad 10 lat zawodowo zajmuje się projektowaniem i tworzeniem aplikacji webowych w Javie. Od kilku lat działa również w obszarze security i prowadzi warsztaty z bezpieczeństwa aplikacji webowych.<br><br> Zwolennik projektów open-source i Linuksa.

Od ponad 10 lat zawodowo zajmuje się projektowaniem i tworzeniem aplikacji webowych w Javie. Od kilku lat działa również w obszarze security i prowadzi warsztaty z bezpieczeństwa aplikacji webowych.<br><br> Zwolennik projektów open-source i Linuksa.

5

Średnia ocen autora

Ten kurs nie posiada jeszcze transkryptu. Choć bardzo się staramy, wygenerowanie transkryptów do wszystkich kursów jest bardzo czasochłonne. W wielu przypadkach wymaga zaangażowania drogiego oprogramowania i godzin pracy przy poprawianiu transkryptu tak, aby był on możliwie jak najlepszy.

Zależy nam na tym, aby przygotować transkrypty do wszystkich naszych treści. To jedyny sposób dla osób niedosłyszących, aby mogły wygodnie uczyć się technologii. Poza tym, transkrypty ułatwiają skanowanie kursu w poszukiwaniu informacji i jego indeksowanie.

Szukamy osób, które mogłyby nam pomóc w poprawianiu transkryptów. Jeśli masz chwilę wolnego czasu i interesuje Cię dany kurs, w zamian za taką pomoc chętnie udostępnimy Ci wybrany materiał. Wyślij swoje zgłoszenie tutaj, jeśli możesz pomóc nam rozwijać platformę.

  • Informacje
  • Lekcje

Autor: Grzegorz Goławski

Czas: 8 godzin 16 minut

Aktualizacja: 25.05.2020

  • Certyfikat w ramach Ścieżki
  • Dostęp z urządzeń przenośnych
  • Licencje dla firm i szkół
Podaruj w prezencie

Wstęp do kursu

  • Wprowadzenie

  • Środowisko

Błędy typu Injection

  • Czym jest SQL Injection

  • Pobieranie poufnych danych

  • Parameters binding

  • Inne techniki

  • Przykłady SQL Injection

  • Command Injection

Niepoprawna obsługa uwierzytelniania i sesji

  • Niepoprawna obsługa sesji

  • Przejmowanie sesji użytkownika

  • Zabezpieczanie sesji

  • Praktyczne przykłady z uwierzytelnianiem

Przejmowanie poufnych danych

  • Ujawnienie poufnych danych

  • Atak sslstrip

  • Sposoby zabezpieczeń

  • Przykłady ataków i zabezpieczeń

XML External Entities (XXE)

  • Omówienie błędu

  • Ochrona i przykłady z życia

Niepoprawna kontrola dostępu

  • Niepoprawna kontrola dostępu

  • Błędy związane z wgrywaniem plików

  • Przykłady z kontrolą dostępu

Konfiguracja zabezpieczeń

  • Błędna konfiguracja zabezpieczeń

  • Problemy z TLS

  • Przykłady z konfiguracją zabezpieczeń

Cross-Site Scripting (XSS)

  • Wprowadzenie do Cross-Site Scripting

  • Zapobieganie atakom

  • Content Security Policy (CSP)

  • Przykłady XSS

Niebezpieczna deserializacja

  • Omówienie deserialziacji

  • Deserializacja w Javie

  • Zapobieganie deserializacji w Javie

  • Deserializacja w PHP

  • Przykłady z deserializacją

Używanie komponentów oraz inne problemy

  • Komponenty ze znanymi podatnościami

  • Przykłady z życia

  • Niewystarczające logowanie i monitorowanie

Cross-Site Request Forgery (CSRF)

  • Wstęp do CSRF

  • Ochrona przed CSRF

  • Przykłady CSRF w praktyce

Clickjacking

  • Czym jest Clickjacking

  • Ochrona przed Clickjackingiem

  • Przykład wykorzystania Clickjackingu

Podstawy kryptografii

  • Kryptografia symetryczna

  • Kryptograficzna funkcja skrótu Hash

  • Hash a przykłady

  • Kryptografia klucza publicznego (asymetryczna)

  • Asymetryczna kryptografia cz. 2

  • Certyfikat klucza publicznego

Podsumowanie

  • Zakończenie

}