Sicurezza delle applicazioni web: protocollo HTTP

Размер: px
Начинать показ со страницы:

Download "Sicurezza delle applicazioni web: protocollo HTTP"

Транскрипт

1 Università degli Studi di Milano Facoltà di Scienze Matematiche, Fisiche e Naturali Anno Accademico 2009/2010 Sicurezza delle applicazioni web: protocollo HTTP Roberto Paleari [email protected] 23 Novembre 2009 R. Paleari Protocollo HTTP 23 Novembre / 28

2 Sommario 1 Introduzione 2 Introduzione al protocollo HTTP 3 Analisi e manipolazione di traffico HTTP 4 Sessioni HTTP R. Paleari Protocollo HTTP 23 Novembre / 28

3 Architettura infrastruttura web web browser page request server response spawn new worker web server spawn new worker interpreter HTML script query DB R. Paleari Protocollo HTTP 23 Novembre / 28

4 HTTP: HyperText Transfer Protocol Cos è? elemento fondamentale su cui si basa il Web protocollo di livello applicazione usato per trasferire dati tra client ed web server protocollo text-based, stateless in uso le versioni 1.0 (RFC 1945) e 1.1 (RFC 2616) incapsulato in connessioni TCP (default: porta 80) Goal trasmissione di documenti ed elementi multimediali oggi utilizzato in contesti diversi (e.g, SOAP) R. Paleari Protocollo HTTP 23 Novembre / 28

5 Richiesta pagina browser DNS server web server A? A Client server DNS il browser interroga un server DNS per ottenere l indirizzo IP del server web R. Paleari Protocollo HTTP 23 Novembre / 28

6 Richiesta pagina browser DNS server web server A? A GET /index.html HTTP/1.1 Client server web il browser si collega alla porta TCP 80 del server e invia una richiesta HTTP R. Paleari Protocollo HTTP 23 Novembre / 28

7 Richiesta pagina browser DNS server web server A? A GET /index.html HTTP/1.1 HTTP/ OK Client server web il server web processa la richiesta ricevuta e restituisce una riposta (e.g., la pagina HTML) R. Paleari Protocollo HTTP 23 Novembre / 28

8 Richieste HTTP Struttura 1 request line (e.g., GET /index.html HTTP/1.1) 2 header (opzionali, e.g., User-Agent: Mozilla/5.0 (X11; U; Linux i686) 3 linea vuota 4 corpo del messaggio (opzionale) Note request line e header terminati da CRLF ( \r\n ) linea vuota CRLF implementazioni flessibili (e.g., richieste accettate anche con linee terminate da LF) R. Paleari Protocollo HTTP 23 Novembre / 28

9 Request line e metodi HTTP metodo risorsa versione GET /index.html HTTP/1.1 R. Paleari Protocollo HTTP 23 Novembre / 28

10 Request line e metodi HTTP metodo risorsa versione GET /index.html HTTP/1.1 Metodi (GET /index.html HTTP/1.1) GET per recuperare la risorsa specificata HEAD simile a GET, ma il server non restituisce il corpo POST richiesta che include dati del body, come ad esempio: dati da inserire in un forum, newsgroup, mailing list,... dati provenienti da un form di un altra pagina HTML input da inserire in un database HTTP/1.1 aggiunti OPTIONS, PUT, DELETE, TRACE, CONNECT R. Paleari Protocollo HTTP 23 Novembre / 28

11 Risorsa e versione del protocollo Risorsa (GET /index.html HTTP/1.1) specificata tramite URI assoluta o path assoluto URI assoluta solo quando si effettua una richiesta attraverso un proxy (e.g., GET HTTP/1.1) path assoluto per richieste dirette al server (e.g., GET /index.html HTTP/1.1) Versione del protocollo (GET /index.html HTTP/1.1) major/minor number della versione del protocollo in 1.1 è obbligatorio inserire l header Host normalmente viene utilizzata la versione 1.1 R. Paleari Protocollo HTTP 23 Novembre / 28

12 Request header principali Authorization credenziali di autenticazione e.g., Basic + username:password, codificato in base64 (roberto:mypassword cm9izxj0bzptexbhc3n3b3jkcg==) If-Modified-Since il server resistuisce la risorsa solo se modificata dopo la data specificata Referer pagina di provenienza User-Agent agente con cui è stata effettuata la richiesta Entity header Contiene meta-informazioni sul body, ad esempio: Content-Length lunghezza del payload contenuto nella richiesta Content-Type tipo di payload (e.g., application/x-www-form-urlencoded) R. Paleari Protocollo HTTP 23 Novembre / 28

13 Request header principali User-Agent Browser/OS User-Agent Mozilla/Linux Mozilla/5.0 (X11; U; Linux i686; en-us; rv:1.7.8)... Mozilla/Win XP Mozilla/5.0 (Windows; U; Windows NT 5.1; it; rv:1.8.1)... Opera 8.50/Win XP Opera/8.50 (Windows NT 5.1; U; en) IE 1.5/Win NT Mozilla/1.22 (compatible; MSIE 1.5; Windows NT) IE 2.0/Win 95 Mozilla/1.22 (compatible; MSIE 2.0; Windows 95) IE 3.01/Win 98 Mozilla/2.0 (compatible; MSIE 3.01; Windows 98) IE 7.0b1/Win XP Mozilla/4.0 (compatible; MSIE 7.0b; Win32) IE 7.0b/Win Vista Mozilla/4.0 (compatible; MSIE 7.0b; Windows NT 6.0) R. Paleari Protocollo HTTP 23 Novembre / 28

14 Request header principali User-Agent Browser/OS User-Agent Mozilla/Linux Mozilla/5.0 (X11; U; Linux i686; en-us; rv:1.7.8)... Mozilla/Win XP Mozilla/5.0 (Windows; U; Windows NT 5.1; it; rv:1.8.1)... Opera 8.50/Win XP Opera/8.50 (Windows NT 5.1; U; en) IE 1.5/Win NT Mozilla/1.22 Quanto (compatible; sonomsie 1.5; Windows NT) IE 2.0/Win 95 Mozilla/1.22 attendibili (compatible; gli header? MSIE 2.0; Windows 95) IE 3.01/Win 98 Mozilla/2.0 (compatible; MSIE 3.01; Windows 98) IE 7.0b1/Win XP Mozilla/4.0 (compatible; MSIE 7.0b; Win32) IE 7.0b/Win Vista Mozilla/4.0 (compatible; MSIE 7.0b; Windows NT 6.0) R. Paleari Protocollo HTTP 23 Novembre / 28

15 Esempio richiesta HTTP (GET) GET /index.html HTTP/1.1 Host: localhost User-Agent: Mozilla/5.0 (X11; U; Linux i686; en-us; rv: )... Accept: text/xml,text/html;q=0.9,text/plain;q=0.8,*/*;q=0.5 Accept-Language: it,en-us;q=0.7,en;q=0.3 Accept-Encoding: gzip,deflate Accept-Charset: ISO ,utf-8;q=0.7,*;q=0.7 Keep-Alive: 300 Connection: keep-alive Referer: If-Modified-Since: Fri, 05 Jan :30:45 GMT If-None-Match: "7f0f1-7-ecdaaf40" R. Paleari Protocollo HTTP 23 Novembre / 28

16 Esempio richiesta HTTP (POST) POST /test.php HTTP/1.1 Host: localhost User-Agent: Mozilla/5.0 (X11; U; Linux i686; en-us; rv: )... Accept: text/xml,text/html;q=0.9,text/plain;q=0.8,*/*;q=0.5 Accept-Language: it,en-us;q=0.7,en;q=0.3 Accept-Encoding: gzip,deflate Accept-Charset: ISO ,utf-8;q=0.7,*;q=0.7 Keep-Alive: 300 Connection: keep-alive Referer: Content-Type: application/x-www-form-urlencoded Content-Length: 11 testo=prova R. Paleari Protocollo HTTP 23 Novembre / 28

17 Risposte HTTP Struttura 1 status-line (e.g., HTTP/ OK) 2 header (opzionali) (e.g., Server: Apache/2.2.3) 3 linea vuota 4 corpo del messaggio (opzionale) status-line e header terminati da CRLF linea vuota = CRLF Status line 1 versione del protocollo (e.g., HTTP/1.1) 2 status code (risultato dell operazione, e.g., 200) 3 testo associato allo status code (e.g., OK) R. Paleari Protocollo HTTP 23 Novembre / 28

18 Status code tre cifre: la prima indica la classe della risposta, le altre due precisano il significato Classi di risposta 1xx informazione - richiesta ricevuta parzialmente, il client deve completarla (HTTP 1.1) 2xx successo - azione ricevuta, compresa e accettata con successo 3xx redirezione - necessarie altre azioni per completare la richiesta 4xx client error - richiesta con sintassi errata o non soddisfacibile 5xx server error - il server non è in grado di rispondere ad una richiesta valida R. Paleari Protocollo HTTP 23 Novembre / 28

19 Codici di risposta Esempi Codice Descrizione 200 OK 201 Created 202 Accepted 301 Moved Permanently 307 Temporary Redirect 400 Bad Request 401 Unauthorized 403 Forbidden 404 Not Found 500 Internal Server Error 503 Service Unavailable R. Paleari Protocollo HTTP 23 Novembre / 28

20 Response header principali Server informazioni generali sul server web Location utilizzato nei redirect, indica la locazione della risorsa Last-Modified quando la risorsa è stata modificata (per caching) Content-Length lunghezza del payload Content-Type tipo di payload Esempio HTTP/ OK Date: Fri, 05 Jan :55:09 GMT Server: Apache/2.2.3 (Debian) PHP/ Last-Modified: Fri, 05 Jan :30:45 GMT ETag: "7f0f1-7-ecdaaf40" Accept-Ranges: bytes Content-Length: 5 Content-Type: text/html; charset=utf-8 ciao R. Paleari Protocollo HTTP 23 Novembre / 28

21 Passaggio parametri Metodo GET l utente passa i dati all applicazione attraverso form HTML o tecnologie lato client tutto si deve tradurre in richieste HTTP Caso 1: passaggio parametri tramite form <form action="submit.php" method="get"> <input type="text" name="var1" /> <input type="hidden" name="var2" value="b" /> <input type="submit" value="invia" /> </form> Caso 2: parametri embedded nell URL <a href="submit.php?var1=a&var2=b">link</a> Richiesta corrispondente GET /submit.php?var1=a&var2=b HTTP/1.1 Host: R. Paleari Protocollo HTTP 23 Novembre / 28

22 Passaggio parametri Metodo POST Ex.1: parametri POST <form action="submit.php" method="post"> <input type="text" name="var1" /> <input type="text" name="var2" /> <input type="submit" value="invia" /> </form> POST /submit.php HTTP/1.1 Host: localhost... Content-Type: application/x-www-form-urlencoded Content-Length: 13 var1=a&var2=b R. Paleari Protocollo HTTP 23 Novembre / 28

23 Passaggio parametri Metodo POST Ex.1: parametri POST <form action="submit.php" method="post"> <input type="text" name="var1" /> <input type="text" name="var2" /> <input type="submit" value="invia" /> </form> POST /submit.php HTTP/1.1 Host: localhost... Content-Type: application/x-www-form-urlencoded Content-Length: 13 var1=a&var2=b Ex.2: GET + POST <form action="test.php?var3=c&var4=d" method="post"> <input type="text" name="var1" /> <input type="text" name="var2" /> <input type="submit" value="invia" /> </form> POST /test.php?var3=c&var4=d HTTP/1.1 Host: localhost... Content-Type: application/x-www-form-urlencoded Content-Length: 13 var1=a&var2=b R. Paleari Protocollo HTTP 23 Novembre / 28

24 Traffico HTTP payload incapsulato in pacchetti TCP (default: porta 80) comunicazione in chiaro Monitoring del traffico per analisi black-box dell applicazione web strumenti di sniffing (e.g., ngrep, tcpdump, wireshark,... ) non consentono l analisi di traffico TLS/SSL R. Paleari Protocollo HTTP 23 Novembre / 28

25 Traffico HTTP payload incapsulato in pacchetti TCP (default: porta 80) comunicazione in chiaro Monitoring del traffico per analisi black-box dell applicazione web strumenti di sniffing (e.g., ngrep, tcpdump, wireshark,... ) non consentono l analisi di traffico TLS/SSL Manipolazione HTTP browser tradizionali proxy netcat, curl,... Manipolazione HTTPS estensioni browser (e.g., Firefox Tamper Data) proxy R. Paleari Protocollo HTTP 23 Novembre / 28

26 Proxy HTTP modifica del traffico HTTP/HTTPS indipendenti dall applicazione HTTPS: il browser notificherà l errore nella verifica del certificato SSL Alcuni proxy HTTP WebScarab ( Burp ( Paros ( R. Paleari Protocollo HTTP 23 Novembre / 28

27 Proxy HTTP modifica del traffico HTTP/HTTPS indipendenti dall applicazione HTTPS: il browser notificherà l errore nella verifica del certificato SSL Alcuni proxy HTTP WebScarab ( Burp ( Paros ( R. Paleari Protocollo HTTP 23 Novembre / 28

28 Sessioni HTTP Introduzione Problema stateless: ogni richiesta è indipendente dalle precedenti applicazioni web dinamiche richiedono il concetto di sessione come fare? A cosa serve una sessione? evitare login ad ogni pagina memorizzare preferenze utente tenere traccia di azioni precedenti (e.g., shopping cart)... R. Paleari Protocollo HTTP 23 Novembre / 28

29 Sessioni HTTP Soluzioni concetto di sessione implementato dall applicazione web informazioni sulla sessione corrente trasmesse client e server Come trasmettere le informazioni di sessione? R. Paleari Protocollo HTTP 23 Novembre / 28

30 Sessioni HTTP Soluzioni concetto di sessione implementato dall applicazione web informazioni sulla sessione corrente trasmesse client e server Come trasmettere le informazioni di sessione? 1 payload HTTP <INPUT TYPE="hidden" NAME="sessionid" VALUE="7456"> R. Paleari Protocollo HTTP 23 Novembre / 28

31 Sessioni HTTP Soluzioni concetto di sessione implementato dall applicazione web informazioni sulla sessione corrente trasmesse client e server Come trasmettere le informazioni di sessione? 1 payload HTTP 2 URL <INPUT TYPE="hidden" NAME="sessionid" VALUE="7456"> R. Paleari Protocollo HTTP 23 Novembre / 28

32 Sessioni HTTP Soluzioni concetto di sessione implementato dall applicazione web informazioni sulla sessione corrente trasmesse client e server Come trasmettere le informazioni di sessione? 1 payload HTTP 2 URL <INPUT TYPE="hidden" NAME="sessionid" VALUE="7456"> 3 header HTTP (e.g., Cookie) GET /page.php HTTP/1.1 Host: Cookie: sessionid= R. Paleari Protocollo HTTP 23 Novembre / 28

33 Cookie Cosa sono? dati creati dal server e memorizzati sul client trasmessi tra client e server utilizzando header HTTP Client Server GET / HTTP/1.1 Host: GET / HTTP/1.1 Host: Cookie: PREF=ID HTTP/ Found Location: Set-Cookie: PREF=ID R. Paleari Protocollo HTTP 23 Novembre / 28

34 Cookie Struttura Attributo nome=valore expires path domain secure Descrizione dati generici (unico campo obbligatorio) data di scadenza percorso per il quale il cookie è valido dominio per il quale il cookie è valido (e.g.,.google.it) flag che indica se il cookie deve essere trasmesso solo attraverso un canale sicuro standardizzati in RFC 2109 R. Paleari Protocollo HTTP 23 Novembre / 28

35 Sessioni Due possibilità per realizzare una sessione: 1 dati inseriti manualmente nelle richieste/risposte (obsoleto e insicuro) 2 meccanismo implementato dal linguaggio di programmazione Cookie di sessione tecnica maggiormente utilizzata dati di sessione memorizzati sul server al client è passato un id di sessione tramite cookie ad ogni richiesta, il client spedisce i cookie al server (e.g., Cookie: PHPSESSID=da1dd139f08c50b4b1825f3b5da2b6fe) il server recupera le informazioni di sessione tramite l id R. Paleari Protocollo HTTP 23 Novembre / 28

36 Sessioni Sicurezza elemento critico (e.g., usate per autenticazione) rischio: bypass del sistema ti autenticazione! devono essere valide per un periodo di tempo limitato Attacco intercettazione predizione brute force session fixation Possibili soluzioni SSL/TLS generatori pseudocasuali efficaci lunghezza id controllo IP, Referer, rigenerazione id R. Paleari Protocollo HTTP 23 Novembre / 28

37 Sessioni Sicurezza Session hijacking Vittima Attaccante Web server GET /login.php?user=foo&pass=bar Set-Cookie: sessionid=23245 GET /main.php Cookie: sessionid=23245 R. Paleari Protocollo HTTP 23 Novembre / 28

38 Sessioni Sicurezza Session fixation Vittima Attaccante Web server GET /index.php Set-Cookie: sessionid= GET /?sessionid=23245 GET /login.php?user=foo&pass=bar R. Paleari Protocollo HTTP 23 Novembre / 28

Sicurezza delle applicazioni web: protocollo HTTP

Sicurezza delle applicazioni web: protocollo HTTP Università degli Studi di Milano Facoltà di Scienze Matematiche, Fisiche e Naturali Sicurezza delle applicazioni web: protocollo HTTP Alessandro Reina Aristide Fattori

Подробнее

Attacchi Web - Introduzione alla sicurezza nelle applicazioni Web

Attacchi Web - Introduzione alla sicurezza nelle applicazioni Web Attacchi Web Introduzione alla sicurezza nelle applicazioni Web Davide Marrone [email protected] Università degli Studi di Milano Facoltà di Scienze Matematiche, Fisiche e Naturali Dipartimento

Подробнее

Sicurezza delle applicazioni web: protocollo HTTP

Sicurezza delle applicazioni web: protocollo HTTP Università degli Studi di Milano Facoltà di Scienze Matematiche, Fisiche e Naturali Anno Accademico 2010/2011 Sicurezza delle applicazioni web: protocollo HTTP Alessandro Reina, Aristide Fattori 05 Maggio

Подробнее

Protocollo HTTP. Alessandro Sorato

Protocollo HTTP. Alessandro Sorato Un protocollo è un insieme di regole che permettono di trovare uno standard di comunicazione tra diversi computer attraverso la rete. Quando due o più computer comunicano tra di loro si scambiano una serie

Подробнее

Il Protocollo HTTP e la programmazione di estensioni Web

Il Protocollo HTTP e la programmazione di estensioni Web Il Protocollo HTTP e la programmazione di estensioni Web 1 Il protocollo HTTP È il protocollo standard inizialmente ramite il quale i server Web rispondono alle richieste dei client (prevalentemente browser);

Подробнее

Web e HTTP. path name. host name Realizzato da Roberto Savino. www.someschool.edu/somedept/pic.gif

Web e HTTP. path name. host name Realizzato da Roberto Savino. www.someschool.edu/somedept/pic.gif Web e HTTP Terminologia Una pagina web consiste di oggetti Un oggetto può essere un file HTML, una immagine JPG, ecc. Una pagina web consiste di un file HTML base che fa riferimento a diversi oggetti al

Подробнее

Il protocollo HTTP e HTTPS

Il protocollo HTTP e HTTPS Il protocollo HTTP e HTTPS Guida Apache di Openskills Introduzione al protocollo HTTP Il protocollo HTTP (Hyper Text Transfer Protocol) viene usato da tutti i client e server web e gestisce il modo con

Подробнее

Architetture Web Protocolli di Comunicazione

Architetture Web Protocolli di Comunicazione Architetture Web Protocolli di Comunicazione Alessandro Martinelli [email protected] 10 Maggio 2011 Architetture Web Architetture Web Protocolli di Comunicazione Il Client Side Il Server Side

Подробнее

Protocolli per il Web. Impianti Informatici. Protocolli applicativi

Protocolli per il Web. Impianti Informatici. Protocolli applicativi Protocolli per il Web Protocolli applicativi I protocolli applicativi 2 Applicazioni Socket interface HTTP (WEB) SMTP (E-MAIL) FTP... NFS RPC DNS... Trasporto TCP UDP Rete ICMP RIP OSPF IP ARP RARP Non

Подробнее

PROTOCOLLI APPLICATIVI PER INTERNET

PROTOCOLLI APPLICATIVI PER INTERNET PROTOCOLLI APPLICATIVI PER INTERNET IC3N 2000 N. 5 La famiglia dei protocolli TCP/IP Applicazioni e-mail,ftp,ssh,www TCP UDP ICMP IP ARP RARP IEEE 802-Ethernet-X25-Aloha ecc. Collegamento fisico 6 1 Protocolli

Подробнее

Stack protocolli TCP/IP

Stack protocolli TCP/IP Stack protocolli TCP/IP Application Layer Transport Layer Internet Layer Host-to-Nework Layer DNS SMTP Telnet HTTP TCP UDP IP Insieme di eterogenei sistemi di rete... 1 Concetti base Differenza tra i concetti

Подробнее

Elementi di Sicurezza e Privatezza Lezione 12 Web Security

Elementi di Sicurezza e Privatezza Lezione 12 Web Security Elementi di Sicurezza e Privatezza Lezione 12 Web Security Chiara Braghin [email protected] Dalla lezione precedente Formato della HTTP Request: Metodo URL Versione protocollo Header GET /index.html

Подробнее

Luca Mari, Sistemi informativi applicati (reti di calcolatori) appunti delle lezioni. Architetture client/server: applicazioni client

Luca Mari, Sistemi informativi applicati (reti di calcolatori) appunti delle lezioni. Architetture client/server: applicazioni client Versione 25.4.05 Sistemi informativi applicati (reti di calcolatori): appunti delle lezioni Architetture client/server: applicazioni client 1 Architetture client/server: un esempio World wide web è un

Подробнее

Protocolli applicativi basati su TCP/IP

Protocolli applicativi basati su TCP/IP Protocolli applicativi basati su TCP/IP A.A. 2005/2006 Walter Cerroni Protocolli applicativi Sono i protocolli utilizzati dalle applicazioni per scambiarsi informazioni attraverso la rete Esempi: HTTP

Подробнее

Programmazione in Rete

Programmazione in Rete Programmazione in Rete a.a. 2005/2006 http://www.di.uniba.it/~lisi/courses/prog-rete/prog-rete0506.htm dott.ssa Francesca A. Lisi [email protected] Orario di ricevimento: mercoledì ore 10-12 Sommario della

Подробнее

Protocolli applicativi: FTP

Protocolli applicativi: FTP Protocolli applicativi: FTP FTP: File Transfer Protocol. Implementa un meccanismo per il trasferimento di file tra due host. Prevede l accesso interattivo al file system remoto; Prevede un autenticazione

Подробнее

OSOR. Applicazioni di Rete

OSOR. Applicazioni di Rete OSOR Applicazioni di Rete 1 Client-Server in Sistemi Distribuiti Host A Host B Client TCP/UDP IP Network Interface Internet Risultati Server TCP/UDP IP Network Interface Richiesta Applicazioni di Rete

Подробнее

Sessioni Applicative in Http. Tito Flagella [email protected]

Sessioni Applicative in Http. Tito Flagella tito@link.it Sessioni Applicative in Http Tito Flagella [email protected] Perché le sessioni Solitamente le transazioni http sono anonime e indipendenti Le applicazioni hanno bisogno di correlarle tra di loro User1: http://bank.com/prelievo?amount=10000$

Подробнее

Prova di Esame - Rete Internet (ing. Giovanni Neglia) Lunedì 24 Gennaio 2005, ore 15.00

Prova di Esame - Rete Internet (ing. Giovanni Neglia) Lunedì 24 Gennaio 2005, ore 15.00 Prova di Esame - Rete Internet (ing. Giovanni Neglia) Lunedì 24 Gennaio 2005, ore 15.00 NB: alcune domande hanno risposta multipla: si richiede di identificare TUTTE le risposte corrette. Cognome: Nome:

Подробнее

2.5. L'indirizzo IP identifica il computer di origine, il numero di porta invece identifica il processo di origine.

2.5. L'indirizzo IP identifica il computer di origine, il numero di porta invece identifica il processo di origine. ESERCIZIARIO Risposte ai quesiti: 2.1 Non sono necessarie modifiche. Il nuovo protocollo utilizzerà i servizi forniti da uno dei protocolli di livello trasporto. 2.2 Il server deve essere sempre in esecuzione

Подробнее

Lezione 1 Introduzione

Lezione 1 Introduzione Lezione 1 Introduzione Ingegneria dei Processi Aziendali Modulo 1 Servizi Web Unità didattica 1 Protocolli Web Ernesto Damiani Università di Milano I Servizi Web Un Servizio Web è un implementazione software

Подробнее

HTTP adaptation layer per generico protocollo di scambio dati

HTTP adaptation layer per generico protocollo di scambio dati HTTP adaptation layer per generico protocollo di scambio dati Sandro Cavalieri Foschini 101786 Emanuele Richiardone 101790 Programmazione in Ambienti Distribuiti I - 01FQT prof. Antonio Lioy A.A. 2002-2003

Подробнее

CORSO DI RETI SSIS. Lezione n.2. 2 Novembre 2005 Laura Ricci

CORSO DI RETI SSIS. Lezione n.2. 2 Novembre 2005 Laura Ricci CORSO DI RETI SSIS Lezione n.2. 2 Novembre 2005 Laura Ricci IL DOMAIN NAME SYSTEM (DNS) Indirizzi IP poco adatti per essere memorizzati da utenti umani è prevista la possibiltà di associare nomi simbolici

Подробнее

Tito Flagella - Il protocollo HTTP

Tito Flagella - Il protocollo HTTP Tito Flagella - [email protected] Il protocollo HTTP Il protocollo HTTP È il protocollo standard tramite il quale i server Web rispondono alle richieste dei client (inizialmente i browser); È basato su un modello

Подробнее

Approfondimento di Marco Mulas

Approfondimento di Marco Mulas Approfondimento di Marco Mulas Affidabilità: TCP o UDP Throughput: banda a disposizione Temporizzazione: realtime o piccoli ritardi Sicurezza Riservatezza dei dati Integrità dei dati Autenticazione di

Подробнее

Capitolo 2 - parte 2. Corso Reti ed Applicazioni Mauro Campanella

Capitolo 2 - parte 2. Corso Reti ed Applicazioni Mauro Campanella Capitolo 2 - parte 2 Corso Reti ed Applicazioni Mauro Campanella La nascita del World Wide Web L idea fu nel 1989 di Tim Berners Lee, fisico del CERN di Ginevra. Vi era la necessità di far collaborare

Подробнее

Infrastrutture e Protocolli per Internet Laboratorio 1

Infrastrutture e Protocolli per Internet Laboratorio 1 Advanced Network Technologies Laboratory Infrastrutture e Protocolli per Internet Laboratorio 1 Stefano Napoli Alberto Pollastro Politecnico di Milano Laboratori Responsabili di Laboratorio: Stefano Napoli

Подробнее

Posta Elettronica e Web

Posta Elettronica e Web a.a. 2002/03 Posta Elettronica e Web Prof. Vincenzo Auletta [email protected] http://www.dia.unisa.it/~auletta/ Università degli studi di Salerno Laurea e Diploma in Informatica 1 Posta Elettronica

Подробнее

appunti delle lezioni Architetture client/server: applicazioni client

appunti delle lezioni Architetture client/server: applicazioni client Sistemi informativi applicati (reti di calcolatori): appunti delle lezioni Architetture client/server: applicazioni client 1 Architetture client/server: un esempio World wide web è un esempio particolarmente

Подробнее

Elementi di Sicurezza e Privatezza Laboratorio 6 - Vulnerabilità di applicazioni Web (1) Chiara Braghin [email protected]!

Elementi di Sicurezza e Privatezza Laboratorio 6 - Vulnerabilità di applicazioni Web (1) Chiara Braghin chiara.braghin@unimi.it! Elementi di Sicurezza e Privatezza Laboratorio 6 - Vulnerabilità di applicazioni Web (1) Chiara Braghin [email protected]! Assignment (1) - Varie Al link http://www.dti.unimi.it/braghin/ elementi/lab/lista_consegnati.pdf

Подробнее

Esempi di applicazioni internet. WEB Trasferimento File Posta Elettronica Sistema dei nomi di dominio (DNS)

Esempi di applicazioni internet. WEB Trasferimento File Posta Elettronica Sistema dei nomi di dominio (DNS) Esempi di applicazioni internet WEB Trasferimento File Posta Elettronica Sistema dei nomi di dominio (DNS) 17 Il Web: terminologia Pagina Web: consiste di oggetti indirizzati da un URL (Uniform Resource

Подробнее

Architetture Applicative Il Web

Architetture Applicative Il Web Architetture Applicative Il Web Alessandro Martinelli [email protected] 18 Marzo 2014 Architetture Architetture Web L Architettura Client-Server HTTP Protocolli di Comunicazione Fondamenti

Подробнее

Il protocollo HTTP. Caratteristiche del protocollo HTTP. Versioni del protocollo. Due tipologie di messaggi:

Il protocollo HTTP. Caratteristiche del protocollo HTTP. Versioni del protocollo. Due tipologie di messaggi: Caratteristiche del protocollo HTTP Scambio di messaggi di richiesta e risposta Transazione HTTP o Web Protocollo stateless Il protocollo HTTP Basato sul meccanismo di naming degli URI per identificare

Подробнее

Session Management. Corrado Aaron Visaggio Sicurezza delle Reti e dei Sistemi Software A.A. 2012/2013. Session Management 1

Session Management. Corrado Aaron Visaggio Sicurezza delle Reti e dei Sistemi Software A.A. 2012/2013. Session Management 1 Session Management Corrado Aaron Visaggio Sicurezza delle Reti e dei Sistemi Software A.A. 2012/2013 Session Management 1 intro Il protocollo http è stateless Modello request-response: transazione indipendente

Подробнее

Prova di Esame - Rete Internet (ing. Giovanni Neglia) Lunedì 24 Gennaio 2005, ore 15.00

Prova di Esame - Rete Internet (ing. Giovanni Neglia) Lunedì 24 Gennaio 2005, ore 15.00 Prova di Esame - Rete Internet (ing. Giovanni Neglia) Lunedì 24 Gennaio 200, ore 1.00 NB: alcune domande hanno risposta multipla: si richiede di identificare TUTTE le risposte corrette. Cognome: Nome:

Подробнее

Applicazioni web centrati sui dati (Data-centric web applications)

Applicazioni web centrati sui dati (Data-centric web applications) Applicazioni web centrati sui dati (Data-centric web applications) 1 ALBERTO BELUSSI ANNO ACCADEMICO 2009/2010 WEB La tecnologia del World Wide Web (WWW) costituisce attualmente lo strumento di riferimento

Подробнее

Infrastrutture e Protocolli per Internet Laboratorio 1

Infrastrutture e Protocolli per Internet Laboratorio 1 Advanced Network Technologies Laboratory Infrastrutture e Protocolli per Internet Laboratorio 1 Stefano Napoli Alberto Pollastro Politecnico di Milano Laboratori Responsabili di Laboratorio: Stefano Napoli

Подробнее

La sicurezza nel Web

La sicurezza nel Web La sicurezza nel Web Protezione vs. Sicurezza Protezione: garantire un utente o un sistema della non interazione delle attività che svolgono in unix ad esempio i processi sono protetti nella loro esecuzione

Подробнее

Siti web centrati sui dati (Data-centric web applications)

Siti web centrati sui dati (Data-centric web applications) Siti web centrati sui dati (Data-centric web applications) 1 A L B E R T O B E L U S S I A N N O A C C A D E M I C O 2 0 1 2 / 2 0 1 3 WEB La tecnologia del World Wide Web (WWW) costituisce attualmente

Подробнее

Caratteristiche del protocollo HTTP. Il protocollo HTTP. Messaggi HTTP. Versioni del protocollo

Caratteristiche del protocollo HTTP. Il protocollo HTTP. Messaggi HTTP. Versioni del protocollo Caratteristiche del protocollo HTTP Scambio di messaggi di richiesta e risposta Transazione HTTP o Web Il protocollo HTTP Protocollo stateless Basato sul meccanismo di naming degli URI per identificare

Подробнее

Il protocollo HTTP. Ringraziamenti. Caratteristiche di HTTP. Introduzione

Il protocollo HTTP. Ringraziamenti. Caratteristiche di HTTP. Introduzione Il protocollo HTTP Ringraziamenti Parte del materiale presentato è tratto dal Corso di Tecnologie Web, prof. Fabio Vitali, Università di Bologna Moreno Marzolla INFN Sezione di Padova [email protected]

Подробнее

Università di Roma Tor Vergata Corso di Laurea triennale in Informatica Sistemi operativi e reti A.A. 2013-14. Pietro Frasca. Parte II Lezione 5

Università di Roma Tor Vergata Corso di Laurea triennale in Informatica Sistemi operativi e reti A.A. 2013-14. Pietro Frasca. Parte II Lezione 5 Università di Roma Tor Vergata Corso di Laurea triennale in Informatica Sistemi operativi e reti A.A. 2013-14 Pietro Frasca Parte II Lezione 5 Martedì 18-03-2014 1 Livello di applicazione Architetture

Подробнее

SMS-Bulk Gateway interfaccia HTTP

SMS-Bulk Gateway interfaccia HTTP SMS-Bulk Gateway interfaccia HTTP Versione 2.3.1 2001-2014 SmsItaly.Com 1 1 Introduzione 1.1 Sommario Solo gli utenti autorizzati hanno accesso al nostro SMS Gateway e possono trasmettere messaggi SMS

Подробнее

Applicazioni Web 2013/14

Applicazioni Web 2013/14 Applicazioni Web 2013/14 Lezione 1 - Il protocollo HTTP Matteo Vaccari http://matteo.vaccari.name/ [email protected] (cc) Alcuni diritti riservati. 1 Informazioni http://matteo.vaccari.name/aw

Подробнее

Prova in itinere Esempio d esame 1

Prova in itinere Esempio d esame 1 Fondamenti di Internet e Reti Proff. A. Capone, M. Cesana, I. Filippini, G. Maier Cognome Nome Matricola Prova in itinere Esempio d esame 1 Tempo complessivo a disposizione per lo svolgimento: 1h30m Usare

Подробнее

SETEFI. Marco Cantarini, Daniele Maccauro, Domenico Marzolla. 19 Aprile 2012

SETEFI. Marco Cantarini, Daniele Maccauro, Domenico Marzolla. 19 Aprile 2012 e VIRTUALCARD 19 Aprile 2012 e VIRTUALCARD Introduzione Il nostro obiettivo é quello di illustrare la struttura e le caratteristiche di fondo che stanno alla base delle transazioni online operate tramite

Подробнее

Cenni di programmazione distribuita in C++ Mauro Piccolo [email protected]

Cenni di programmazione distribuita in C++ Mauro Piccolo piccolo@di.unito.it Cenni di programmazione distribuita in C++ Mauro Piccolo [email protected] Socket Nei sistemi operativi moderni i servizi disponibili in rete si basano principalmente sul modello client/server. Tale

Подробнее

Internet Architettura del www

Internet Architettura del www Internet Architettura del www Internet è una rete di computer. Il World Wide Web è l insieme di servizi che si basa sull architettura di internet. In una rete, ogni nodo (detto host) è connesso a tutti

Подробнее

Architettura del. Sintesi dei livelli di rete. Livelli di trasporto e inferiori (Livelli 1-4)

Architettura del. Sintesi dei livelli di rete. Livelli di trasporto e inferiori (Livelli 1-4) Architettura del WWW World Wide Web Sintesi dei livelli di rete Livelli di trasporto e inferiori (Livelli 1-4) - Connessione fisica - Trasmissione dei pacchetti ( IP ) - Affidabilità della comunicazione

Подробнее

19. LA PROGRAMMAZIONE LATO SERVER

19. LA PROGRAMMAZIONE LATO SERVER 19. LA PROGRAMMAZIONE LATO SERVER Introduciamo uno pseudocodice lato server che chiameremo Pserv che utilizzeremo come al solito per introdurre le problematiche da affrontare, indipendentemente dagli specifici

Подробнее

Oreste Signore, <[email protected]> Responsabile Ufficio Italiano W3C Area della Ricerca CNR - via Moruzzi, 1-56124 Pisa

Oreste Signore, <oreste@w3.org> Responsabile Ufficio Italiano W3C Area della Ricerca CNR - via Moruzzi, 1-56124 Pisa http://www.w3c.it/education/2012/upra/basicinternet/#(1) 1 of 16 Oreste Signore, Responsabile Ufficio Italiano W3C Area della Ricerca CNR - via Moruzzi, 1-56124 Pisa Master in Comunicazione

Подробнее

Esercitazione. Formato di compitini e compiti: domande ed esercizi "closed book" G. Ferrari - Reti di calcolatori.

Esercitazione. Formato di compitini e compiti: domande ed esercizi closed book G. Ferrari - Reti di calcolatori. Esercitazione Formato di compitini e compiti: domande ed esercizi "closed book" Esercitazione - 1 Domanda 1 In una comunicazione di rete tra due host, quale è il client e quale è il server. Necessario:

Подробнее

Come funziona il WWW. Architettura client-server. Web: client-server. Il protocollo

Come funziona il WWW. Architettura client-server. Web: client-server. Il protocollo Come funziona il WWW Il funzionamento del World Wide Web non differisce molto da quello delle altre applicazioni Internet Anche in questo caso il sistema si basa su una interazione tra un computer client

Подробнее

Inizializzazione degli Host. BOOTP e DHCP

Inizializzazione degli Host. BOOTP e DHCP BOOTP e DHCP a.a. 2002/03 Prof. Vincenzo Auletta [email protected] http://www.dia.unisa.it/~auletta/ Università degli studi di Salerno Laurea e Diploma in Informatica 1 Inizializzazione degli Host Un

Подробнее

MODELLO CLIENT/SERVER. Gianluca Daino Dipartimento di Ingegneria dell Informazione Università degli Studi di Siena [email protected]

MODELLO CLIENT/SERVER. Gianluca Daino Dipartimento di Ingegneria dell Informazione Università degli Studi di Siena daino@unisi.it MODELLO CLIENT/SERVER Gianluca Daino Dipartimento di Ingegneria dell Informazione Università degli Studi di Siena [email protected] POSSIBILI STRUTTURE DEL SISTEMA INFORMATIVO La struttura di un sistema informativo

Подробнее

Laboratorio Progettazione Web PHP e FORMs HTML. Andrea Marchetti IIT-CNR [email protected] 2013/2014

Laboratorio Progettazione Web PHP e FORMs HTML. Andrea Marchetti IIT-CNR andrea.marchetti@iit.cnr.ita 2013/2014 Laboratorio Progettazione Web PHP e FORMs HTML Andrea Marchetti IIT-CNR [email protected] 2013/2014 Struttura Applicazioni Web Browser Web HTTP Server Web API Dati Presentation Application Storage

Подробнее

Esercitazione 8. Basi di dati e web

Esercitazione 8. Basi di dati e web Esercitazione 8 Basi di dati e web Rev. 1 Basi di dati - prof. Silvio Salza - a.a. 2014-2015 E8-1 Basi di dati e web Una modalità tipica di accesso alle basi di dati è tramite interfacce web Esiste una

Подробнее

Nelle reti di calcolatori, le porte (traduzione impropria del termine. port inglese, che in realtà significa porto) sono lo strumento

Nelle reti di calcolatori, le porte (traduzione impropria del termine. port inglese, che in realtà significa porto) sono lo strumento I protocolli del livello di applicazione Porte Nelle reti di calcolatori, le porte (traduzione impropria del termine port inglese, che in realtà significa porto) sono lo strumento utilizzato per permettere

Подробнее

Tecnologie per il Web. Il web: Architettura HTTP HTTP. SSL: Secure Socket Layer

Tecnologie per il Web. Il web: Architettura HTTP HTTP. SSL: Secure Socket Layer Tecnologie per il Web Il web: architettura e tecnologie principali Una analisi delle principali tecnologie per il web Tecnologie di base http, ssl, browser, server, firewall e proxy Tecnologie lato client

Подробнее

DOMOTICA ED EDIFICI INTELLIGENTI UNIVERSITA DI URBINO

DOMOTICA ED EDIFICI INTELLIGENTI UNIVERSITA DI URBINO Corso DOMOTICA ED EDIFICI INTELLIGENTI UNIVERSITA DI URBINO Docente: Ing. Luca Romanelli Mail: [email protected] Networking NAT 1 Sommario L indirizzamento privato e pubblico I meccanismi di address

Подробнее

World Wide Web. Web e Server-side Computing: Richiami sulla tecnologia Web e FORM HTML. Il Successo del Web. Protocolli di accesso

World Wide Web. Web e Server-side Computing: Richiami sulla tecnologia Web e FORM HTML. Il Successo del Web. Protocolli di accesso Web e Server-side Computing: Richiami sulla tecnologia Web e FORM HTML Gianluca Moro [email protected] Dipartimento di Elettronica, Informatica e Sistemistica Università di Bologna World Wide Web nato

Подробнее

Introduzione alle applicazioni di rete

Introduzione alle applicazioni di rete Introduzione alle applicazioni di rete Definizioni base Modelli client-server e peer-to-peer Socket API Scelta del tipo di servizio Indirizzamento dei processi Identificazione di un servizio Concorrenza

Подробнее

Hackathon Developers User Guide

Hackathon Developers User Guide Hackathon Developers User Guide Indice 1. Descrizione del Framework IoT...2 1.1 Informazioni fornite dalla filiera Alimentare...3 1.2 Interfaccia Applicativa...6 1.2.1 Richiesta di Sottoscrizione dati...7

Подробнее

Esercitazione 05. Sommario. Packet Filtering [ ICMP ] Esercitazione Descrizione generale. Angelo Di Iorio (Paolo Marinelli)

Esercitazione 05. Sommario. Packet Filtering [ ICMP ] Esercitazione Descrizione generale. Angelo Di Iorio (Paolo Marinelli) Sommario Esercitazione 05 Angelo Di Iorio (Paolo Marinelli)! Packet Filtering ICMP! Descrizione esercitazione! Applicazioni utili: " Firewall: wipfw - netfilter " Packet sniffer: wireshark!"#!$#!%&'$(%)*+,')#$-!"#!$#!%&'$(%)*+,')#$-

Подробнее

Dal protocollo IP ai livelli superiori

Dal protocollo IP ai livelli superiori Dal protocollo IP ai livelli superiori Prof. Enrico Terrone A. S: 2008/09 Protocollo IP Abbiamo visto che il protocollo IP opera al livello di rete definendo indirizzi a 32 bit detti indirizzi IP che permettono

Подробнее

J+... J+3 J+2 J+1 K+1 K+2 K+3 K+...

J+... J+3 J+2 J+1 K+1 K+2 K+3 K+... Setup delle ConnessioniTCP Una connessione TCP viene instaurata con le seguenti fasi, che formano il Three-Way Handshake (perchè formato da almeno 3 pacchetti trasmessi): 1) il server si predispone ad

Подробнее

Elementi di Sicurezza e Privatezza Lezione 13 Web Security. Chiara Braghin

Elementi di Sicurezza e Privatezza Lezione 13 Web Security. Chiara Braghin Elementi di Sicurezza e Privatezza Lezione 13 Web Security Chiara Braghin Cookie e Sicurezza HTTP e i cookie (1) Vi ricordate? I Web server in genere sono stateless: una serie di richieste dallo stesso

Подробнее

Elementi di Sicurezza e Privatezza Lezione 13 Web Security. Chiara Braghin. Cookie e Sicurezza

Elementi di Sicurezza e Privatezza Lezione 13 Web Security. Chiara Braghin. Cookie e Sicurezza Elementi di Sicurezza e Privatezza Lezione 13 Web Security Chiara Braghin Cookie e Sicurezza 1 HTTP e i cookie (1) Vi ricordate? I Web server in genere sono stateless: una serie di richieste dallo stesso

Подробнее

Corso di PHP. Prerequisiti. 6.1 PHP e il web 1. Conoscenza HTML Tecnica della programmazione Principi di programmazione web

Corso di PHP. Prerequisiti. 6.1 PHP e il web 1. Conoscenza HTML Tecnica della programmazione Principi di programmazione web Corso di PHP 6.1 PHP e il web 1 1 Prerequisiti Conoscenza HTML Tecnica della programmazione Principi di programmazione web 2 1 Introduzione In questa Unità illustriamo alcuni strumenti di programmazione

Подробнее

1 WIZARD DI AUTOCONFIGURAZIONE MAPI 1.1 INTERNET EXPLORER 8

1 WIZARD DI AUTOCONFIGURAZIONE MAPI 1.1 INTERNET EXPLORER 8 1 WIZARD DI AUTOCONFIGURAZIONE MAPI Il Portale Servizi di Impresa Semplice, disponibile alla URL https://servizi.impresasemplice.it, permette di configurare automaticamente le impostazioni del profilo

Подробнее

Introduzione alla Posta Elettronica Certificata (PEC): le regole tecniche

Introduzione alla Posta Elettronica Certificata (PEC): le regole tecniche Dipartimento Matematica Facoltà di Scienze Università degli Studi di Trento Introduzione alla Posta Elettronica Certificata (PEC): le regole tecniche Dott. Enrico Zimuel Secure Software Engineer http://www.zimuel.it

Подробнее

HOWTO. SER_Gestione_Credenziali.doc

HOWTO. SER_Gestione_Credenziali.doc P ROGETTO V.O.C.I. HOWTO GESTIONE DELLE CREDENZIALI DI ACCESSO SU SER N O M E F I L E: SER_Gestione_Credenziali.doc D A T A: 14/09/2009 A T T I V I T À: S T A T O: U R L: AUTORE/ I : Gruppo VoIP ABSTRACT:

Подробнее

@2011 Politecnico di Torino. Pag. 1. Architettura distribuita. Architetture Client/Server. Architettura centralizzata. Architettura distribuita

@2011 Politecnico di Torino. Pag. 1. Architettura distribuita. Architetture Client/Server. Architettura centralizzata. Architettura distribuita Architettura client/ stazioni utente Basi di ati Architetture /Server B locali M BG Architettura centralizzata Un architettura è centralizzata quando i dati e le (programmi) risiedono in un unico Tutta

Подробнее