Materiały i narzędzia pracy przy analizie bezpieczeństwaIlustracja warsztatu pracy

Zapisy wkrótce

SQL Injection od podszewki

SQL od podstaw do SQL injection

Zacznij od pierwszego SELECT i naucz się rozumieć zapytania, zanim przejdziesz do SQL injection. Poznasz filtrowanie, logikę warunków, sortowanie, grupowanie i UNION, a potem zobaczysz, jak dane z formularza zmieniają zapytanie. Połączysz test podatności z analizą przyczyny i sprawdzeniem poprawki.

449 złplanowana cena brutto

W przeglądarce · Bez instalacji · Tutor i narracja

FormaW przeglądarce, we własnym tempie
Program14 obszarów tematycznych
Język edycjiPolski
Forma zapisuBezpłatna lista oczekujących

SQL Injection od podszewki

Dołącz do listy oczekujących

Masz pytanie? Napisz do mnie

Możesz wycofać zgodę w każdej chwili. Zapis dotyczy wybranego szkolenia — nie dopiszemy Cię automatycznie do list pozostałych kursów.

Otwierasz przeglądarkę. Zaczynasz naukę.

Tutor pokazuje.
Narrator wyjaśnia. Ty ćwiczysz.

Nie tracisz pierwszego wieczoru na konfigurację środowiska. Aplikacja, narzędzia i kontekst zadania są w jednym miejscu. Nie potrzebujesz Dockera, VPN, maszyny wirtualnej ani płatnego oprogramowania.

Widzisz, na co zwrócić uwagę

Wirtualny tutor prowadzi przez przykład i wskazuje istotne elementy aplikacji, kodu lub narzędzia. Łatwiej powiązać instrukcję z tym, co dzieje się na ekranie.

Słyszysz, dlaczego wynik ma znaczenie

Narracja tłumaczy mechanizm, decyzję i rezultat. Możesz zatrzymać prowadzenie, wrócić do wcześniejszego kroku i przeanalizować go we własnym tempie.

Sprawdzasz własny tok myślenia

Przejmujesz pracę w ćwiczeniu: zmieniasz dane, wykonujesz próbę albo podejmujesz decyzję. Porównujesz wynik i poprawiasz rozwiązanie na podstawie wyjaśnienia.

Jedno środowisko, bez przełączania się między filmem a instalacją. Narzędzia dobieramy do tematu: od żądań HTTP i kodu po terminal, kalkulator lub dokument. Ćwiczysz w symulatorach i na przygotowanych przypadkach, bez atakowania cudzych systemów.

Co będziesz potrafić?

Od pierwszego SELECT do wyjaśnienia SQL injection.

Najpierw rozumiesz zapytanie. Potem widzisz, jak dane użytkownika zmieniają jego znaczenie i jak sprawdzić, czy poprawka usuwa przyczynę.

Punkt wyjścia

Nie znasz SQL i nie rozumiesz wyników zapytań.

Umiejętność, którą rozwijasz

Czytasz schemat i piszesz zapytania z filtrami, sortowaniem oraz UNION.

Jak sprawdzisz ją w praktyce

Odczytujesz wskazane rekordy i wyjaśniasz, dlaczego warunek zwrócił właśnie ten zestaw danych.

Punkt wyjścia

Masz listę ciągów testowych, ale nie wiesz, skąd bierze się błąd.

Umiejętność, którą rozwijasz

Śledzisz wejście użytkownika do SQL i budujesz kontrolowane próby.

Jak sprawdzisz ją w praktyce

Porównujesz zwykłe wejście z warunkami zmieniającymi wynik. Uzasadniasz wniosek na podstawie zachowania, nie jednego komunikatu błędu.

Punkt wyjścia

Usunięcie błędu składni uznajesz za zakończenie naprawy.

Umiejętność, którą rozwijasz

Dobierasz ochronę zapytania i osobno sprawdzasz dostęp do danych.

Jak sprawdzisz ją w praktyce

Wyjaśniasz rolę parametryzacji i dozwolonej struktury SQL. Sprawdzasz, czy użytkownik nadal widzi wyłącznie uprawnione rekordy.

Po co Ci to poza kursem?

To podstawa do świadomego testowania SQL injection i rozmowy z programistą o przyczynie oraz poprawce, nie tylko o zablokowaniu jednego payloadu.

Każdą umiejętność łączysz z konkretnym rezultatem pracy. Do wyjaśnień możesz wracać w trakcie ćwiczenia.

Zakres, za którym stoją materiały

Konkretne tematy.
Praktyka, która pomaga je zrozumieć.

Zobacz, co składa się na program: lekcje, objaśnienia, przykłady i ćwiczenia. Liczby poniżej opisują różne rodzaje materiałów.

12rozdziałów
Tematyczne rozdziały obecnej bazy kursu. Podwidoki i indeksy tych samych treści nie zwiększają tej liczby.
304kroki z komentarzem
Różne pary tekstu ekranu i narracji po usunięciu identycznych powtórzeń. To fragmenty prowadzenia przez materiał, nie osobne pełne lekcje.
307wariantów ćwiczeń
17 demonstracji, 50 poziomów i 240 lekcji akademii SQL. Lekcje akademii są już ujęte w tej liczbie i mają różne deklarowane tryby wykonania.
218zapytań w korpusie
Różne ciągi SQL w korpusie referencyjnym. To przykłady zapytań, nie liczba niezależnych podatności ani wynik ponownego uruchomienia.

Liczby opisują źródłową, anglojęzyczną bazę materiałów. Lista oczekujących dotyczy planowanej edycji polskiej. Liczby nie oznaczają ukończenia jej tłumaczenia. Kroki demonstracji, przykłady i zadania to różne jednostki, nie godziny nagrań ani liczba unikalnych podatności.

Punkt wejścia

Dla kogo jest ten kurs?

  • Dla początkujących, którzy chcą nauczyć się SQL w kontekście działania i bezpieczeństwa aplikacji.
  • Dla przyszłych pentesterów i testerów API, którzy chcą rozumieć SQL injection zamiast zapamiętywać gotowe ciągi wejściowe.
  • Dla programistów backendu, którzy chcą sprawdzać budowanie zapytań i dostęp do rekordów.

Co warto znać na początku

  • Nie musisz znać SQL. Kurs zaczyna od tabel, kolumn, rekordów i prostego SELECT.
  • Przy części aplikacyjnej przyda się rozumienie adresu URL i parametru formularza. Zależność między żądaniem HTTP a zapytaniem omawiamy na przykładach.

Zapisy dotyczą polskiej edycji. Nazwy poleceń, fragmenty kodu i oznaczenia standardów pozostają w oryginale.

Sposób nauki

Najpierw rozumiesz.
Potem robisz samodzielnie.

Tutor prowadzi przez przykład i wyjaśnia kolejne decyzje. W ćwiczeniu możesz wrócić do kontekstu, sprawdzić wynik i poprawić swoją odpowiedź.

  1. Poznaj sytuację

    Cel, ograniczenia i dane wejściowe. Wiesz, co sprawdzasz i po co.

  2. Zobacz mechanizm

    Obserwujesz demonstrację z komentarzem tutora, krok po kroku.

  3. Wykonaj zadanie

    Pracujesz z danymi, narzędziem lub scenariuszem. Porównujesz rezultat z oczekiwaniem.

  4. Wyciągnij wniosek

    Uzasadniasz decyzję i poznajesz ograniczenia. Wracasz do miejsc wymagających poprawy.

Ćwiczenia korzystają z symulatorów oraz wybranych mechanizmów wykonywanych w przeglądarce. Nie wymagają atakowania cudzych systemów.

Planowany program

Wiesz, czego się uczysz. I po co.

Każdy obszar rozwija konkretną umiejętność. Poznajesz nie tylko temat, ale także działanie i rezultat, do którego prowadzi nauka.

Przy każdym temacie znajdziesz umiejętność i konkretny rezultat ćwiczenia.

Chcę dołączyć do listy
01Baza danych od początku

Poznasz tabelę, kolumnę, rekord i klucz na danych aplikacji. Odczytasz schemat oraz relacje między zamówieniem, fakturą, użytkownikiem i klientem organizacyjnym. Ustalisz, co oznacza wynik zapytania, zanim zaczniesz go zmieniać.

Ćwiczenie z tutorem

Co ćwiczysz
Czytasz strukturę tabel i znaczenie relacji między rekordami.
Praktyczny rezultat
W przygotowanej bazie odnajdujesz kolumny, identyfikatory i powiązania. Wskazujesz, gdzie zapisana jest własność danych.
02Pierwsze zapytania SELECT

Wybierzesz kolumny, tabelę i warunek WHERE. Porównasz wynik wyszukiwania z zapytaniem, które świadomie nie znajduje rekordów. Będziesz czytać składnię i otrzymane dane razem, tak aby rozumieć przyczynę każdej zmiany wyniku.

Ćwiczenie z tutorem

Co ćwiczysz
Wybierasz potrzebne kolumny i rekordy zapytaniem SQL.
Praktyczny rezultat
Uruchamiasz SELECT na danych ćwiczenia i porównujesz wynik z tabelą. Wyjaśniasz, skąd pochodzi każda zwrócona wartość.
03Warunki i logika SQL

Przećwiczysz porównania, AND, OR i wpływ grupowania warunków na wynik. Zbudujesz pary warunków prawdziwych i fałszywych. To podstawa późniejszego rozumienia obejścia warunku logowania i testów typu boolean-based.

Ćwiczenie z tutorem

Co ćwiczysz
Przewidujesz, które rekordy spełniają warunek zapytania.
Praktyczny rezultat
Zmieniasz warunki i grupowanie logiczne. Porównujesz zestawy wyników oraz wskazujesz znaczenie nawiasów i wartości NULL.
04Sortowanie, grupowanie i ograniczanie wyników

Użyjesz ORDER BY, GROUP BY i ograniczenia liczby rekordów w zapytaniach analitycznych. Sprawdzisz różnicę między wartością filtra a nazwą kolumny lub fragmentem struktury SQL. Powiążesz te elementy z parametrami wyszukiwarki i raportu.

Ćwiczenie z tutorem

Co ćwiczysz
Oddzielasz wybór rekordów od sposobu ich prezentacji i agregacji.
Praktyczny rezultat
Porównujesz zapytania z sortowaniem, grupowaniem i limitem. Uzasadniasz, dlaczego zmiana liczby wierszy nie zawsze oznacza zmianę uprawnień.
05Droga od żądania do bazy

Prześledzisz tekst z pola wyszukiwania, identyfikator produktu i wybór sortowania aż do SQL. Porównasz zwykłe użycie formularza z wartością zmieniającą zapytanie. Nauczysz się wskazywać dokładne miejsce, w którym dane użytkownika stają się częścią składni.

Ćwiczenie z tutorem

Co ćwiczysz
Śledzisz wejście użytkownika aż do wykonywanego zapytania.
Praktyczny rezultat
Zestawiasz parametr, fragment kodu i SQL. Wskazujesz miejsce, w którym dane mogą zostać potraktowane jako część składni.
06Sygnały wstrzyknięcia

Zaczniesz od poprawnego żądania i kontrolnej wartości bez wyników. Następnie sprawdzisz sygnał błędu składni oraz dopasowane warunki prawdziwy i fałszywy. Powiążesz odpowiedź aplikacji ze zmianą zapytania i rekordów, aby odróżnić trop od potwierdzonego mechanizmu.

Ćwiczenie z tutorem

Co ćwiczysz
Odróżniasz sygnał wymagający badania od potwierdzonego wpływu na zapytanie.
Praktyczny rezultat
Porównujesz zwykłe wejście i kontrolowaną zmianę. Zapisujesz błąd lub różnicę wyniku wraz z alternatywnym wyjaśnieniem.
07UNION i kształt wyniku

Poznasz łączenie wyników przez UNION, zgodność liczby kolumn i typów oraz miejsce wyświetlenia danych. Przejdziesz od poprawnego zapytania do jego użycia w kontrolowanym przykładzie SQL injection. Sprawdzisz także warianty, w których filtr lub kształt zapytania zmienia możliwy rezultat.

Ćwiczenie z tutorem

Co ćwiczysz
Dobierasz połączone zapytanie do liczby i typów kolumn.
Praktyczny rezultat
Na lokalnych danych porównujesz zgodny i niezgodny kształt wyniku. Wyjaśniasz, dlaczego określony wariant UNION jest przyjmowany.
08Kodowanie i wnioskowanie o danych

Przećwiczysz reprezentacje znaków, wartości szesnastkowe i pytania o fragment tekstu. Połączysz te operacje z logiką warunków i interpretacją odpowiedzi. Zobaczysz, dlaczego znaczenie wejścia zależy od kolejnych etapów jego przetwarzania.

Ćwiczenie z tutorem

Co ćwiczysz
Rozpoznajesz wpływ przekształceń wejścia na interpretację SQL.
Praktyczny rezultat
Porównujesz postać przesłaną i używaną w zapytaniu. Łączysz obserwację z konkretnym warunkiem, nie z wyglądem ciągu testowego.
09Błędy, ślepe wstrzyknięcia i sygnały czasowe

Porównasz wnioskowanie z komunikatu błędu, różnicy logicznej i czasu odpowiedzi. Nauczysz się dobierać kontrolę, która sprawdza konkretną hipotezę. Przykłady czasowe i wybrane funkcje baz są modelowane, a ich rolą jest nauka interpretacji, nie pomiar zewnętrznego serwera.

Analiza przypadku

Co ćwiczysz
Oceniasz wiarygodność pośredniego sygnału wstrzyknięcia.
Praktyczny rezultat
Zestawiasz przygotowane próby prawda/fałsz i sygnały czasowe z wariantem bazowym. Wskazujesz potrzebę powtórzeń i wykluczenia innych przyczyn.
10SQL injection a dostęp do plików

Na przygotowanych przykładach przeanalizujesz zależność operacji plikowej od funkcji bazy, uprawnień i środowiska. Oddzielisz możliwość zmiany zapytania od możliwości odczytu pliku. Wskażesz dane potrzebne do dalszej weryfikacji bez sięgania po cudze zasoby.

Analiza przypadku

Co ćwiczysz
Uwzględniasz uprawnienia i konfigurację bazy przy ocenie skutków.
Praktyczny rezultat
Analizujesz przykład operacji plikowej i jej warunki. Wyjaśniasz, dlaczego SQL injection nie oznacza automatycznie dostępu do dowolnego pliku.
11Parametryzacja i bezpieczna struktura zapytania

Porównasz łączenie ciągów z traktowaniem wartości jako danych. Sprawdzisz, dlaczego dynamiczne nazwy kolumn i kierunek sortowania wymagają osobnej kontroli. Przeanalizujesz również kod korzystający z ORM, zamiast zakładać, że sama biblioteka usuwa problem.

Ćwiczenie z tutorem

Co ćwiczysz
Oddzielasz wartości parametrów od dozwolonej struktury SQL.
Praktyczny rezultat
Porównujesz składanie zapytania z parametryzacją. Wskazujesz elementy strukturalne, dla których potrzebny jest kontrolowany wybór zamiast parametru wartości.
12Autoryzacja danych

Sprawdzisz właściciela faktury, rolę wywołującą eksport i izolację klientów aplikacji. Zobaczysz, że bezpiecznie zbudowane zapytanie nadal może zwrócić niewłaściwy rekord. Powiążesz uprawnienie użytkownika z warunkiem ograniczającym dane.

Ćwiczenie z tutorem

Co ćwiczysz
Sprawdzasz izolację danych niezależnie od ochrony przed SQL injection.
Praktyczny rezultat
Porównujesz odczyt własnego i obcego rekordu. Uzasadniasz, dlaczego poprawna parametryzacja nie zastępuje warunku własności.
13Dowody i minimalizacja

Zapiszesz wyłącznie dane potrzebne do wyjaśnienia problemu wraz z żądaniem, zapytaniem i wynikiem. Rozdzielisz SQL injection, brak autoryzacji i niewyjaśniony sygnał. Przygotujesz opis przyczyny i zalecenie odpowiadające rzeczywistemu błędowi.

Warsztat na przygotowanych danych

Co ćwiczysz
Potwierdzasz skutek bez zbędnego pobierania danych.
Praktyczny rezultat
Wybierasz minimalny wynik potrzebny do wniosku. Zapisujesz zapytanie, kontekst i ograniczenia zamiast kompletnego eksportu bazy.
14Naprawa i regresja

Powtórzysz tę samą wartość wejściową po poprawce i sprawdzisz, czy jest traktowana jako dane. Osobno przetestujesz cudzy oraz własny rekord, role eksportu i zakres raportu. Zakończysz przypadek zestawem wyników, na podstawie których można ocenić gotowość poprawki.

Warsztat na przygotowanych danych

Co ćwiczysz
Sprawdzasz usunięcie przyczyny i poprawne działanie zapytania.
Praktyczny rezultat
Porównujesz próbę wstrzyknięcia, zwykłe wyszukiwanie i dostęp między kontami po poprawce. Wyniki oceniasz oddzielnie.

W praktyce

Z czym zmierzysz się
podczas nauki?

Każdy przypadek ma kontekst, konkretne działanie i rezultat. Nie chodzi o zapamiętanie polecenia, ale o zrozumienie, dlaczego wynik się zmienił.

Własne zapytania do danych aplikacji

Odczytasz schemat, napiszesz SELECT i przygotujesz filtry, sortowanie oraz grupowanie wyników. Porównasz zwykłe zapytania z warunkami prawdziwymi i fałszywymi oraz przećwiczysz UNION.

Rezultat pracyZestaw zapytań z wyjaśnieniem składni i otrzymanych rekordów.

SQL injection i sprawdzenie naprawy

Prześledzisz wejście wyszukiwarki aż do SQL, przygotujesz porównanie prób i sprawdzisz zmianę po zabezpieczeniu zapytania. Osobno przetestujesz, czy ograniczenie właściciela danych nadal jest egzekwowane.

Rezultat pracyOpis mechanizmu wstrzyknięcia oraz plan regresji dla zapytania i uprawnień.

Certyfikat ukończenia

Kończysz kurs.
Otrzymujesz certyfikat.

Gdy ukończysz kurs, certyfikat zostanie wydany automatycznie i wysłany na Twój adres e-mail. Zawiera imię i nazwisko, datę wydania i unikalny kod, a na drugiej stronie zakres kursu.

  • Kod sprawdzi każdy, np. pracodawca, bez logowania.
  • Certyfikat wystawiamy w języku angielskim.
  • To potwierdzenie ukończenia kursu, nie certyfikacja branżowa.

Weryfikacja kodu: cyberszkola.pl/weryfikacja

Wzór certyfikatu ukończenia, strona 1, z przykładowymi danymi i znakiem SPECIMEN
Wzór certyfikatu, strona 2: zakres kursu
Wzór certyfikatu: strona 1 i zakres kursu na stronie 2. Imię i nazwisko, data i kod są przykładowe.
Powiększ zakres kursu
Wzór certyfikatu, strona 2: zakres kursu

Zapowiedź osobnego szkolenia

Konkretny zakres.
Bez kupowania całej ścieżki.

  • Wprowadzenie do SQL od tabel i SELECT, bez wymogu wcześniejszej znajomości języka.
  • Przykłady zapytań, warunków, UNION i interpretacji sygnałów SQL injection.
  • Scenariusze formularzy i API z widoczną zależnością wejścia, zapytania i danych.
  • Porównania podatnego oraz poprawionego rozwiązania i zadania z retestu.
  • Certyfikat ukończenia w języku angielskim, z kodem weryfikacyjnym.

Planowana cena szkolenia

449 złbrutto

Polska edycja · Termin nie jest jeszcze ogłoszony

Powiadom mnie o starcie

Zapis jest bezpłatny. Przed otwarciem sprzedaży otrzymasz termin, pełny zakres i warunki zakupu. Dziś nie pobieramy płatności. To osobna lista zainteresowanych, nie rezerwacja miejsca ani zakup.

Dla firm i zespołów

Szkolenie dla zespołu.
U nas albo w Twoim LMS.

  • Konta firmowe, działy i licencje na naszej platformie, z raportem postępów dla przełożonego.
  • Uruchomienie w systemie e-learningowym Twojej firmy. Postęp i ukończenie widać w Twoich raportach.
  • Faktura VAT na firmę.

Zgodne z platformami LMS, m.in.:

  • Moodle
  • TalentLMS
  • Cornerstone
  • Docebo
  • SAP SuccessFactors
  • Workday Learning
  • Absorb
  • 360Learning

oraz innymi platformami obsługującymi standardy e-learningowe.

Cena dla firm

Wycena indywidualnazależy od liczby licencji, okresu dostępu i sposobu wdrożenia

Wdrożenie we własnym LMS firmy od 50 licencji.

Zapytaj o wycenę

Napisz na kontakt@cyberszkola.pl: liczba osób, wybrane szkolenia i system LMS, jeśli go używacie.

Jacek Wlodarczyk

Autor projektu

Jacek Wlodarczyk

Twórca projektów Cyberwiedza, cyberszkola i AI SecLabs. W tych szkoleniach łączę wyjaśnienie mechanizmu z ćwiczeniem, obserwacją i decyzją, którą trzeba umieć uzasadnić.

Nie wystarczy uruchomić polecenie. Ważne jest, co jego wynik potwierdza, czego nie potwierdza i jaki powinien być następny krok.

Więcej o autorze

Przed zapisem

Warto wiedzieć.

Czy to kurs dla osoby, która jeszcze nie zna SQL?

Tak. Zaczynasz od tabel, rekordów i SELECT, a potem przechodzisz do warunków, sortowania, grupowania i UNION. Analiza podatności należy do dalszej części planowanego kursu.

Czy to ogólny kurs administracji bazami danych?

Nie. SQL poznajesz pod kątem czytania i testowania aplikacji, ze szczególnym naciskiem na SQL injection i kontrolę dostępu do danych. Administracja serwerem bazy nie jest głównym celem szkolenia.

Czy teraz kupuję szkolenie?

Nie. To zapowiedź kursu i lista zainteresowanych. Zapis nie jest zakupem, rezerwacją miejsca ani zobowiązaniem do zapłaty.

Kiedy będzie start i jaka będzie cena?

Termin, cena i warunki dostępu zostaną ogłoszone przed otwarciem sprzedaży. Lista zainteresowanych służy do wysłania tej informacji.

W jakim języku będzie szkolenie?

Szkolenie jest dostępne po polsku i po angielsku — język przełączasz w dowolnym momencie, a lekcje, objaśnienia ćwiczeń i narracja są w obu wersjach. Polecenia, kod i nazwy narzędzi zachowują oryginalną składnię, taką samą jak w codziennej pracy.

Czy muszę instalować Dockera, VPN lub własne laboratorium?

Nie. Wszystkie ćwiczenia kursu wykonujesz w przeglądarce, na komputerze z dostępem do internetu. Aplikacje szkoleniowe, terminale, edytory i warsztaty są częścią platformy. Nie instalujesz Dockera, maszyny wirtualnej ani VPN i nie potrzebujesz płatnych narzędzi zewnętrznych.

Czy to zwykłe nagrania wideo?

Nie. Pracujesz w interaktywnym środowisku. Wirtualny tutor wskazuje istotne elementy, a narracja wyjaśnia działanie i jego wynik. Zatrzymujesz lekcję, wracasz do wcześniejszych kroków i wykonujesz własne próby. To prowadzenie wbudowane w kurs, nie indywidualne konsultacje z człowiekiem.

Czy ćwiczenia wykonują działania na cudzych systemach?

Nie. Korzystasz z aplikacji szkoleniowych, symulatorów i przygotowanych danych. Poznajesz mechanizm oraz jego ograniczenia w bezpiecznym środowisku. Odsyłacze do materiałów zewnętrznych są uzupełnieniem, nie warunkiem ukończenia ćwiczeń.

Czy dostanę certyfikat lub gwarancję pracy?

Tak, certyfikat ukończenia. Gdy ukończysz kurs, otrzymasz certyfikat w języku angielskim z unikalnym kodem, który każdy może sprawdzić na cyberszkola.pl/weryfikacja. To potwierdzenie ukończenia kursu wystawiane przez autora, a nie certyfikacja branżowa. Nie obiecujemy zatrudnienia.

Czy kursy są oficjalnymi szkoleniami OWASP lub ISO?

Nie. To autorskie szkolenia korzystające z publicznych odniesień i własnych przypadków. Nie zastępują licencjonowanych standardów, akredytacji ani kwalifikacji wymaganych w branżach regulowanych.

Dołącz do listy oczekujących

Nie przegap startu: SQL Injection od podszewki

Zostaw adres e-mail. Otrzymasz wiadomość o otwarciu zapisów, programie i warunkach pierwszej edycji. Nie musisz regularnie sprawdzać strony.

Planowana cena: 449 zł brutto

  • Wiadomość o starcie wybranego szkolenia
  • Pełna oferta przed decyzją o zakupie
  • Bez opłat i bez zobowiązania do zakupu

Dołącz do listy oczekujących

Masz pytanie? Napisz do mnie

Możesz wycofać zgodę w każdej chwili. Zapis dotyczy wybranego szkolenia — nie dopiszemy Cię automatycznie do list pozostałych kursów.