1 Bezpieczeństwo aplikacji WWWMichał Pośnik s4132 2008
2 Rodzaje ataków XSS (Cross-Site Scripting) SQL Injection HTML InjectionCSRF (Cross-Site Request Forgery
3 Cross-Site Scripting
4 Od strony atakującego Zasada ataku XSS Rodzaje ataku XSSReflected XSS Persistent XSS Lokalny atak XSS Proste próby ataku XSS
5 Reflected XSS Najczęściej spotykany wśród ataków z serii XSSTrzeba nakłonić ofiarę do odwiedzenia spreparowanego URL Umożliwia dostęp do haseł użytkownika, adresów , loginów, fraz wpisywanych w search'u
6 Persistent XSS Także bardzo powszechny atakNie wymaga nakłaniania ofiary do kliknięcia w URL Za pomocą kodu ukrytego w URL, możemy dostać się do bazy danych Serwer bazodanowy rozsyła szkodliwy kod do użytkowników odwiedzających stronę Raz wstrzyknięty kod pozostaje już na serwerze
7 Lokalny atak XSS Odbywa się na komputerze ofiaryWykonywane w przeglądarce, za pomocą JavaScript Serwer "dostarcza" w przeglądarce błędny skrypt, a nie złośliwy kod Najczęściej podatne są aplikacje Web 2.0
8 Proste próby ataku XSS Aby wykonać prosty atak XSS musimy zrobic/znac:Sprawdzenie podatności strony WWW na atak XSS Podstawowa znajomość JavaScript Szczęście
9 Jedna ze stron, którą znalazłem
10 SQL INJECTION
11 Od strony atakującego Jeden z podstawowych i najczęściej wykorzystywanych ataków w Internecie Wykorzystuje lukę w systemie polegającą na nieprawidłowym filtrowaniu Wszystkie bazy danych są podatne w mniejszym lub większym stopniu na te ataki
12 Zasada działania Polega na wysłaniu na serwer spreparowanego kodu SQLDzięki odpowiednim zapytaniom, możemy dostać się do serwera i wykraść dane
13 Przeprowadzanie atakuSprawdzamy czy w atakowanej stronie występują luki Jeśli znaleźliśmy takowe, sprawdzamy poprawność działania naszych zapytań Jeśli nie występują błędy, sprawdzamy efekt działania wstrzykniętego kodu Gromadziny dane w celu identyfikacji rodzaju zapytania, rodzaju bazy danych, czy uprzywilejowania użytkownika
14 HTML INJECTION
15 Od strony atakującego Ataki HTML Injection, podobnie jak ataki XSS i SQL Injection, polegają na dodawaniu kodu do źródła strony WWW Pozwalają nam modyfikować wygląc strony, oraz jej funkcjonalność W zależności od zapytania, możemy zmienić wygląd strony na stałe
16 Prostota HTML InjectionZnajomość HTMLa, nawet w podstawach, pozwoli nam na wykonanie prostego ataku Wiele stron jest podatnych na tego typu atak Po prawej znajduje się przykładowy kod HTML, który możemy wstrzyknąć w stronę podatną na atak. Kliknij na zdjecie, aby je powiekszyc!
17 Przykład wykorzystania HTML InjectionProsty tag …
18 Cross-Site request forgery
19 Od strony atakującego Często pomijana technika, a także często mieszana jako „podzbiór” ataków XSS Polega na wykorzystaniu przeglądarki ofiary, w celu wysyłania żądań HTTP, bez wiedzy ofiary Umożliwia wykonywanie czynności administratorskich bez konieczności przechwytywania sesji czy łamania haseł Umożliwia wykonanie ataku mimo skonfigurowanego firewalla
20 Schemat przedstawiający zwykły atak CSRF
21 Schemat przedstawiający atak CSRF z włączonym firewallem
22 Przeprowadzenie ataku CSRFWystarczy znajomość HTMLa "Podszycie" pod kod HTML jakiegos linka Pozyskiwanie potrzebnych nam informacji
23 Bezpieczeństwo aplikacji WWWXSS SQL Injection HTML Injection CSRF
24 Bezpieczeństwo aplikacji WWW od strony programistyZnajomość pewnych funkcji PHP może okazać się przydatna. Przykładowe funkcje zabezpieczające
25 O należy pamiętać? Ustawienie walidacji parametrów wejściowychWyłączenie opcji zmiennych globalnych Prawidłowa kontrola dostępu Prawidłowa autentykacja i zarządzanie sesjami Prawidłowe zabezpieczenie przed przepełnieniem bufora Prawidłowa obsługa błędów Bezpieczne przechowywanie danych Prawidłowe zabezpieczenie przed atakiem typu DoS Ustawienie funkcji uniemożliwiających wstrzykiwanie kodu
26 Kilka przykładów znalezionych w sieci
27 Kilka przykładów znalezionych w sieci
28 Kilka przykładów znalezionych w sieci
29 Dziękuję za uwagę