Navigazione automatica e rilevazione di errori in applicazioni web

Dimensione: px
Iniziare la visualizzazioe della pagina:

Download "Navigazione automatica e rilevazione di errori in applicazioni web"

Transcript

1 Politecnico di Milano Navigazione automatica e rilevazione di errori in applicazioni web Relatore: Prof. Stefano Zanero Fabio Quarti F e d e r i c o V i l l a A.A. 2006/2007

2 Sommario Obiettivo: Illustrare la realizzazione di un bot per la navigazione automatica e la rilevazione di errori in applicazioni web; Introduzione: L'applicazione e il Sequence Diagram SQL-Injection Cross-Site scripting XSS Architettura: Test Crawling Rilevazione SQL-Injection MD5 DataBase Error Check ( DOM ) Analisi Document Object Model Rilevazione XSS Conclusioni Fabio Quarti, Federico Villa 2

3 L'Applicazione Cos è?: È un bot automatico, in grado di navigare autonomamente lungo un percorso di una Applicazione Web fino ad una pagina Target. E' facilmente scriptabile, e riceve input tramite semplici file XML Una volta ottenuto il codice della pagina Target, è in grado di individuare se si sono verificate SQL- Injection o Cross Site Scripting Perchè?: E' un ausilio per gli sviluppatori di Applicazioni Web E' progettata per essere richiamata da tool di analisi statica del codice, che spesso producono un numero molto elevato di falsi positivi Come?: Confronta il codice della pagina Target ottenuta con il parametro da validare, con il codice della medesima pagina ottenuto con un set più o meno vasto di dati validi Fabio Quarti, Federico Villa 3

4 Sequence Diagram L applicazione naviga una volta per ogni valore corretto e una volta per il valore potenzialmente invalido Al ternime della navigazione confronta la pagina potenzialmente invalida con le pagine sicuramente valide, sfruttando le tecniche che vedremo in seguito. Fabio Quarti, Federico Villa 4

5 SQL-Injection Cos è?: È un errore che consente ad un aggressore di inviare comandi SQL sfruttando un campo di input di un applicazione web Si verifica quando un campo di input non è correttamente validato e viene sfruttato per costruire una query Esempio: Immaginiamo la query: select * from Users where Login= +stringa_login+ and Password= +stringa_password+ Immaginiamo di riuscire ad immettere, tramite un campo di input non controllato, il valore di stringa_login lupin ; -- otteniamo la seguente query: select * from Users where Login= lupin ; --and Password= +stringa_password+ A seguito di questa query è possibile ottenere l autenticazione sul sistema remoto senza immettere alcuna password ma conoscendo solo il nome utente. Prevenzione: Parsing dei caratteri speciali Eliminazione degli errori SQL Validazione tutti i dati in ingresso Fabio Quarti, Federico Villa 5

6 Cross-Site Scripting XSS Cos è?: È un errore che consente ad un aggressore di inserire codice di scripting sfruttando un campo di input di un applicazione web Consente di effettuare: cookie theft, session hijack e accesso alle informazioni riservate Tipi: Stored: il codice maligno è permanentemente immagazzinato nel server e viene inviato a tutti i client che si connettono, che poi lo eseguono ne browser. Reflected: il codice viene inviato al client tramite messaggi di errore o esiti di ricerche, perché considera lo script come proveniente da un sito sicuro Esempio: Immaginiamo di inserire in un guestbook o in un forum il seguente codice: <script>location= </script> Otteniamo il reindirizzamento sul sito del Politecnico. Prevenzione: Verificare l input e bandire lo scripting Fabio Quarti, Federico Villa 6

7 Architettura: Crawling Come funziona: La navigazione avviene in modo lineare; il percorso che il bot deve seguire è specificato in un file xml Sfruttiamo la libreria HTTP Unit sviluppata per Java Struttura XML: <?xml version="1.0"?> <percorso> <pagina URL='index.html' nomeform='' method=""/> <pagina URL='/formcp/index.html' nomeform='login' method="" usename="false" Name=""> <attributo nome='username' valore='tesi' ischeckbox='false' checkboxstate='false' istest='false' /> <attributo nome='chiave' valore='tesi' ischeckbox='false' checkboxstate='false' istest='false' /> </pagina> </percorso> Specifichiamo l indirizzo della pagina, il nome del form che deve essere riempito, il valore degli attributi, il tipo degli attributi e se il campo è l input in cui effettuare l injection Fabio Quarti, Federico Villa 7

8 Architettura: Error Detection Come funziona: La rilevazione degli errori avviene confrontando il codice HTML della pagina ottenuta dai dati invalidi con il codice delle pagine ottenute sfruttando il set di dati validi forniti dal chiamante. E' realizzata tramite tre controlli in cascata Controlli: MD5 Rilevazione Errori DataBase ( DOM ) Confronto Alberi Document Object Model Fabio Quarti, Federico Villa 8

9 Controlli: MD5 Cos'è MD5: Message Digest 5 è un algoritmo di crittografia dei dati a senso unico che produce, a partire da una stringa di lunghezza arbitraria, una stringa chiamata digest, lunga 128bit composta da 32 simboli esadecimali. Due stringhe diverse, in teoria, non possono avere lo stesso MD5. E' stato rotto nel Come funziona: Alcune pagine dinamiche sono configurate per mostrare sempre la stessa pagina in caso di successo, indipendentemente dai dai dati inseriti Confrontando gli hash della pagina potenzialmente invalida con quelli delle pagine valide, è possibile individuare immediatamente parametri sicuramente validi Fabio Quarti, Federico Villa 9

10 Controlli: Errori DB Come funziona: Spesso, i tentativi di SQL-Injection possono generare errori nel DBMS. Altrettanto spesso, questi errori vengono mostrati a video [sempre, se si sta effettuando il debug di una applicazione] Il Bot cerca all'interno di una pagina la presenza di messaggi provenienti dal DBMS Errori DBMS: La lista degli errori SQL è un file XML, che contiene le espressioni regolari associate ad ogni messaggiio. E' facile scrivere un nuovo file contenente errori di un altro DBMS o errori custom Struttura del file: <?xml version="1.0"?> <dbms_error> <error regex= Can&apos;t create file &apos;[0-9a-za-z ]* &apos;(errno: [0-9a-zA-Z ]*) /> <error regex= Can&apos;t create table &apos;[0-9a-za-z ]* &apos;(errno: [0-9a-zA-Z ]*) /> </dbms_error> Fabio Quarti, Federico Villa 10

11 Controlli: DOM Cos'è Document Object Model: è una forma di rappresentazione dei documenti strutturati come modello orientato agli oggetti. E' uno standard del W3C DOM permette di associare ad una pagina xhtml ben formata un albero che rappresenta la struttura del documento Come funziona: In una applicazione, pagine simili hanno una struttura simile, ma pagine contenutisticamente molto differenti possono avere la medesima struttura Confrontando l'albero DOM della pagina ottenuta dal dato invalido con tutti i DOM degli alberi ritenuti validi, è possibile verificare se la struttura da verificare rispetti uno o più alberi validi Fabio Quarti, Federico Villa 11

12 Controlli: XSS Detection Come funziona: Il dato da testare è uno script. L'applicazione effettua l'injection dello script nella pagina target Verifica che la stringa sia presente in una pagina specificata, senza che il tag <script> sia stato modificato, eliminato o convertito nella corrispondente entity. E'è il controllo più facile da progettare, ma non è semplice da implementare. Infatti, lo script, una volta inserito, può trovarsi in una posizione differente dalla pagina in cui è stata effettuata l'injection. Fabio Quarti, Federico Villa 12

13 Test Effettuati Test Didattico: WebGoat WebGoat è un set di applicazioni volutamente insicure, preparate dall'owasp - Open Web Application Security Project, con il fine di istruire gli sviluppatori a prevenire vulnerabilità. Il bot è stato in grado di rilevare l'sql-injection e il Cross Site Scripting Test Reali - Come?: Sono stati effettuati sfruttando vulnerabilità note e exploit conosciuti. Sono state scelte applicazioni conosciute, familiari a molti utenti. Test Reali: PhpBB2: l'applicazione rileva correttamente un Cross Site Scripting avvenuto a causa del mancato controllo del campo autore nel form di ricerca dei post PhpNuke v7.8: l'applicazione rileva correttamente una SQL-Injection avvenuta a causa del mancato controllo dei parametri inviati alla query nel campo principale della ricerca Fabio Quarti, Federico Villa 13

14 Conclusione e sviluppi futuri Conclusioni: Corretto funzionamento applicazione Problemi con documenti non formati e Blind SQL-Injection Sviluppi futuri: Ottimizzazione codice Correzione errori di navigazione Implementazione di una differente politica di confronto DOM Fabio Quarti, Federico Villa 14

15 Fine Presentazione Fine Presentazione That's all, Folks! Fabio Quarti, Federico Villa 15

16 Politecnico di Milano Navigazione automatica e rilevazione di errori in applicazioni web: Test in Dettaglio Relatore: Prof. Stefano Zanero Fabio Quarti F e d e r i c o V i l l a A.A. 2006/2007

17 Sommario Obiettivo: Illustrare la casistica e il software con cui è stata testata l'applicazione sviluppata. Test Didattici: WebGoat SQL-Injection Cross-Site scripting XSS Test Reali: PhpBB2 e XSS in PhpBB2 PhpNuke v7.8 e SQL-Injection in PhpNuke v7.8 Conclusioni Fabio Quarti, Federico Villa 17

18 WebGoat Cos'è WebGoat WebGoat è un set di applicazioni volutamente insicure, preparate dall'owasp - Open Web Application Security Project, con il fine di istruire gli sviluppatori a prevenire vulnerabilità. Mette a disposizione dell'utente un finto portale bancario su cui effettuare le injection SQL e un finto guestbook su cui effettuare il Cross-Site Scripting Cos'è OWASP The Open Web Application Security Project (OWASP) is dedicated to finding and fighting the causes of insecure software. Everything here is free and open source. The OWASP Foundation is a 501c3 not-forprofit charitable organization that ensures the ongoing availability and support for our work. Participation in OWASP is free and open to all. Fabio Quarti, Federico Villa 18

19 SQL-Injection in Webgoat 1 Come E' possibile effettuare l'injection in un campo adibito all'autenticazione di un utente che vuole vedere i suoi numeri di carta di credito Con una banale injection è possibile forzare il sistema a mostrare tutti i numeri di carta di credito di tutti gli uenti E' sufficiente inserire, invece del nome utente di prova Smith, la stringa ( LENGTH(last_name)<100 ) OR Fabio Quarti, Federico Villa 19

20 SQL-Injection in Webgoat 2 Fabio Quarti, Federico Villa 20

21 SQL-Injection in Webgoat 3 Fabio Quarti, Federico Villa 21

22 Cross-Site Scripting in WG 1 Come E' possibile effettuare l'injection in un campo adibito all'inserimento di messaggi in un guestbook Il messaggio viene immediatamente mostrato, senza essere controllato La stringa utilizzata per l'injection è Avvenuto con successo!")</script> <script>javascript:alert("xss Fabio Quarti, Federico Villa 22

23 Cross-Site Scripting in WG 2 Fabio Quarti, Federico Villa 23

24 Cross-Site Scripting in WG 3 Fabio Quarti, Federico Villa 24

25 Cross-Site Scripting in PhpBB2 1 Cosa è: Php Bulletin Board V2 è una tra i più popolari sistemi Open Source per la gestione di forum scritti mediante il linguaggio di programmazione PHP. Come E' possibile effettuare l'injection in un campo adibito all'inserimento della query di ricerca per autore Il messaggio viene immediatamente mostrato, senza essere controllato La stringa utilizzata per l'injection è ("XSS Eseguito!")</script> <script>javascript:alert Fabio Quarti, Federico Villa 25

26 Cross-Site Scripting in PhpBB2 2 Fabio Quarti, Federico Villa 26

27 Cross-Site Scripting in PhpBB2 3 Fabio Quarti, Federico Villa 27

28 SQL-Injection in PhpNuke Cosa è: PhpNuke, definito dall autore come il futuro del Web, è una piattaforma scritta in php che permette ad un amministratore di creare un portale per una comunità di utenti, consentendo a ciascun utente di pubblicare, modificare e commentare articoli e news. E' altamente modulare Come E' possibile effettuare l'injection in un campo adibito alla ricerca all'interno di PhpNuke Con una banale injection è possibile forzare il sistema a mostrare tutti gli hash delle password degli amministratori E' sufficiente inserire nel campo di ricerca la stringa UNION SELECT 0,user_id,username,user_password,0,0,0,0,0,0 FROM nuke_users s% ) Fabio Quarti, Federico Villa 28

29 SQL-Injection in PhpNuke Fabio Quarti, Federico Villa 29

30 SQL-Injection in PhpNuke Fabio Quarti, Federico Villa 30

31 Conclusione Conclusioni: Buoni risultati in fase di testing Problemi con documenti non formati e Blind SQL-Injection Problemi con l'esecuzione di codice JavaScript Fabio Quarti, Federico Villa 31

32 Fine Presentazione Fine Presentazione E l'ultimo chiuda la porta Fabio Quarti, Federico Villa 32

Corso di Sicurezza Informatica. Sicurezza del software. Ing. Gianluca Caminiti

Corso di Sicurezza Informatica. Sicurezza del software. Ing. Gianluca Caminiti Corso di Sicurezza Informatica Sicurezza del software Ing. Gianluca Caminiti SQL Injection Sommario Premessa sul funzionamento dei siti dinamici SQL Injection: Overview Scenari di attacco: Errata gestione

Dettagli

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

Dettagli

TeamPortal. Servizi integrati con ambienti Gestionali

TeamPortal. Servizi integrati con ambienti Gestionali TeamPortal Servizi integrati con ambienti Gestionali 12/2013 Accesso da remoto Accesso da remoto Esempio 1 Sul Firewall devono essere aperte le porte 80 : http (o quella assegnata in fase di installazione/configurazione

Dettagli

sito web sito Internet

sito web sito Internet Siti Web Cos è un sito web Un sito web o sito Internet è un insieme di pagine web correlate, ovvero una struttura ipertestuale di documenti che risiede, tramite hosting, su un web server e accessibile

Dettagli

Attacchi alle applicazioni web: SQL injection e Cross-site scripting (XSS)

Attacchi alle applicazioni web: SQL injection e Cross-site scripting (XSS) UNIVERSITÀ DEGLI STUDI DI CATANIA Facoltà di Ingegneria Corso di laurea Specialistica in Ingegneria Informatica Tesina di Sicurezza nei Sistemi informativi Simona Ullo Attacchi alle applicazioni web: SQL

Dettagli

Programmazione Web. Laboratorio 4: PHP e MySQL

Programmazione Web. Laboratorio 4: PHP e MySQL Programmazione Web Laboratorio 4: PHP e MySQL Lavagna elettronica (I) Un unità aziendale di decision making opera per le decisioni di tipo consueto e ripetitivo tramite la procedura seguente: un qualsiasi

Dettagli

SITI-Reports. Progetto SITI. Manuale Utente. SITI-Reports. ABACO S.r.l.

SITI-Reports. Progetto SITI. Manuale Utente. SITI-Reports. ABACO S.r.l. Progetto SITI Manuale Utente SITI-Reports ABACO S.r.l. ABACO S.r.l. C.so Umberto, 43 46100 Mantova (Italy) Tel +39 376 222181 Fax +39 376 222182 www.abacogroup.eu e-mail : [email protected] 02/03/2010

Dettagli

Risultati dell esame degli oggetti scaricati da BackDoor.Flashback sui Mac infetti

Risultati dell esame degli oggetti scaricati da BackDoor.Flashback sui Mac infetti Risultati dell esame degli oggetti scaricati da BackDoor.Flashback sui Mac infetti Il 27 aprile 2012 Il team della società Doctor Web continua a esaminare la prima nella storia botnet di vasta scala creata

Dettagli

[1] Cross Site Scripting [2] Remote / Local File Inclusion [3] SQL Injection

[1] Cross Site Scripting [2] Remote / Local File Inclusion [3] SQL Injection ---------------------------------------------------------------------..... _/ / _ / / \ \/ / / / / \ / \ \ \ / /_/ \ /\ / \ \ \ / /_/ > Y \ \ \ >\_/ / > / \ / / \/ \/ \/ \/ / / \/ ---------------------------------------------------------------------

Dettagli

AJAX e altre applicazioni di Javascript. Luca Fabbri

AJAX e altre applicazioni di Javascript. Luca Fabbri AJAX e altre applicazioni di Javascript Luca Fabbri 1 Definizione di AJAX? AJAX, acronimo di Asynchronous JavaScript and XML, è una tecnica di sviluppo per creare applicazioni web interattive. 2 Perché

Dettagli

Database e reti. Piero Gallo Pasquale Sirsi

Database e reti. Piero Gallo Pasquale Sirsi Database e reti Piero Gallo Pasquale Sirsi Approcci per l interfacciamento Il nostro obiettivo è, ora, quello di individuare i possibili approcci per integrare una base di dati gestita da un in un ambiente

Dettagli

Siti interattivi e dinamici. in poche pagine

Siti interattivi e dinamici. in poche pagine Siti interattivi e dinamici in poche pagine 1 Siti Web interattivi Pagine Web codificate esclusivamente per mezzo dell HTML non permettono alcun tipo di interazione con l utente, se non quella rappresentata

Dettagli

DATABASE IN RETE E PROGRAMMAZIONE LATO SERVER

DATABASE IN RETE E PROGRAMMAZIONE LATO SERVER DATABASE IN RETE E PROGRAMMAZIONE LATO SERVER L architettura CLIENT SERVER è l architettura standard dei sistemi di rete, dove i computer detti SERVER forniscono servizi, e computer detti CLIENT, richiedono

Dettagli

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

Dettagli

Volumi di riferimento

Volumi di riferimento Simulazione seconda prova Esame di Stato Gestione di un centro agroalimentare all ingrosso Parte prima) Un nuovo centro agroalimentare all'ingrosso intende realizzare una base di dati per l'attività di

Dettagli

Application Assessment Applicazione ARCO

Application Assessment Applicazione ARCO GESI Application Assessment Applicazione ARCO Milano Hacking Team S.r.l. http://www.hackingteam.it Via della Moscova, 13 [email protected] 20121 MILANO (MI) - Italy Tel. +39.02.29060603 Fax +39.02.63118946

Dettagli

Corso di Informatica. Prerequisiti. Modulo T3 B3 Programmazione lato server. Architettura client/server Conoscenze generali sui database

Corso di Informatica. Prerequisiti. Modulo T3 B3 Programmazione lato server. Architettura client/server Conoscenze generali sui database Corso di Informatica Modulo T3 B3 Programmazione lato server 1 Prerequisiti Architettura client/server Conoscenze generali sui database 2 1 Introduzione Lo scopo di questa Unità è descrivere gli strumenti

Dettagli

Una metodologia di progettazione di applicazioni web centrate sui dati

Una metodologia di progettazione di applicazioni web centrate sui dati Una metodologia di progettazione di applicazioni web centrate sui dati 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 1 / 2 0 1 2 Progettazione logica di un sito web centrato sui dati Si

Dettagli

Esercizi di JavaScript

Esercizi di JavaScript Esercizi di JavaScript JavaScript JavaScript é un linguaggio di programmazione interpretato e leggero, creato dalla Netscape. E' presente a patire da Netscape 2 in tutti i browser ed é dunque il linguaggio

Dettagli

Dispensa di database Access

Dispensa di database Access Dispensa di database Access Indice: Database come tabelle; fogli di lavoro e tabelle...2 Database con più tabelle; relazioni tra tabelle...2 Motore di database, complessità di un database; concetto di

Dettagli

Il software di gestione immobiliare più facile da usare. Modulo Web v5.2. www.gestim.it

Il software di gestione immobiliare più facile da usare. Modulo Web v5.2. www.gestim.it Il software di gestione immobiliare più facile da usare Modulo Web v5.2 www.gestim.it Introduzione Il Modulo Web è un componente di Gestim che permette di pubblicare in automatico gli annunci sul sito

Dettagli

TeamPortal. Infrastruttura

TeamPortal. Infrastruttura TeamPortal Infrastruttura 05/2013 TeamPortal Infrastruttura Rubriche e Contatti Bacheca Procedure Gestionali Etc Framework TeamPortal Python SQL Wrapper Apache/SSL PostgreSQL Sistema Operativo TeamPortal

Dettagli

ITI M. FARADAY Programmazione modulare a.s. 2014-2015

ITI M. FARADAY Programmazione modulare a.s. 2014-2015 Indirizzo: INFORMATICA E TELECOMUNICAZIONI Disciplina: Informatica Docente:Maria Teresa Niro Classe: Quinta B Ore settimanali previste: 6 (3 ore Teoria - 3 ore Laboratorio) ITI M. FARADAY Programmazione

Dettagli

Lezione 9. Applicazioni tradizionali

Lezione 9. Applicazioni tradizionali Lezione 9 Applicazioni tradizionali Pag.1 Sommario Concetti trattati in questa lezione: SQL nel codice applicativo Cursori API native ODBC Pag.2 SQL nel codice applicativo I comandi SQL possono essere

Dettagli

Progettazione Web Applicazioni client-server

Progettazione Web Applicazioni client-server Progettazione Web Applicazioni client-server Sviluppo di un'applicazione Web integrando: HTML MySQL PHP Apache Applicativi utilizzabili: gestione database: JDER, MySQL Workbench, HeidiSQL (Win), DBeaver

Dettagli

Obiettivo dell esercitazione

Obiettivo dell esercitazione Database e Web - Esercitazioni ASP - Andrea Proli [email protected] Laboratorio di Basi di Dati A.A. 2005/2006 Obiettivo dell esercitazione L obiettivo finale dell esercitazione è quello di creare

Dettagli

1 Copyright ChateXpert

1 Copyright ChateXpert Manuale D Uso di ChateXpert FREE 1 Copyright ChateXpert Per in inserire uno dei nostri servizi di community nel proprio sito è necessario prima registrarsi sul sito di ChateXpert.it http://www.chatexpert.it/planet/webmaster.asp

Dettagli

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

Dettagli

Software Servizi Web UOGA

Software Servizi Web UOGA Manuale Operativo Utente Software Servizi Web UOGA S.p.A. Informatica e Servizi Interbancari Sammarinesi Strada Caiese, 3 47891 Dogana Tel. 0549 979611 Fax 0549 979699 e-mail: [email protected] Identificatore

Dettagli

SPORTELLO UNICO DELLE ATTIVITÀ PRODUTTIVE MANUALE OPERATIVO FUNZIONI DI PAGAMENTO ONLINE. Versione 05

SPORTELLO UNICO DELLE ATTIVITÀ PRODUTTIVE MANUALE OPERATIVO FUNZIONI DI PAGAMENTO ONLINE. Versione 05 SPORTELLO UNICO DELLE ATTIVITÀ PRODUTTIVE MANUALE OPERATIVO FUNZIONI DI PAGAMENTO ONLINE Versione 05 Novembre 2015 1 Sommario Generalità... 3 Pagare con ICONTO... 7 Pagare con carta di credito... 10 Pagare

Dettagli

Realizzazione di un Tool per l iniezione automatica di difetti all interno di codice Javascript

Realizzazione di un Tool per l iniezione automatica di difetti all interno di codice Javascript tesi di laurea di difetti all interno di codice Javascript Anno Accademico 2009/2010 relatore Ch.mo prof. Porfirio Tramontana correlatore Ch.mo ing. Domenico Amalfitano candidato Vincenzo Riccio Matr.

Dettagli

Guida all utilizzo di Moodle per gli studenti

Guida all utilizzo di Moodle per gli studenti Guida all utilizzo di Moodle per gli studenti 1 Premessa La piattaforma utilizzata per le attività a distanza è Moodle, un software per la gestione di corsi online. Dal punto di vista dello studente, si

Dettagli

Kroll Ontrack Servizi RDR Guida rapida

Kroll Ontrack Servizi RDR Guida rapida Kroll Ontrack Servizi RDR Guida rapida Selezionare una macchina Windows che sia in grado di funzionare come client remoto. É possibile utilizzare Windows XP e versioni successive ad eccezione di Windows

Dettagli

Progetto di Ingegneria del Software 2. SWIMv2

Progetto di Ingegneria del Software 2. SWIMv2 Progetto di Ingegneria del Software 2 2012/2013 SWIMv2 Guida al Testing Docente: Prof. Luca Mottola Davide Brambilla Antonio Caputo Paolo Caputo 1 Indice 1 Introduzione 1.1 Materiale fornito................................

Dettagli

GERARCHIE RICORSIVE - SQL SERVER 2008

GERARCHIE RICORSIVE - SQL SERVER 2008 GERARCHIE RICORSIVE - SQL SERVER 2008 DISPENSE http://dbgroup.unimo.it/sia/gerarchiericorsive/ L obiettivo è quello di realizzare la tabella di navigazione tramite una query ricorsiva utilizzando SQL SERVER

Dettagli

Il linguaggio HTML - Parte 3

Il linguaggio HTML - Parte 3 Corso IFTS Informatica, Modulo 3 Progettazione pagine web statiche (50 ore) Il linguaggio HTML - Parte 3 Dott. Chiara Braghin [email protected] Addenda Vedi tabella caratteri speciali Vedi file caratteri_speciali.html

Dettagli

Obiettivi d esame PHP Developer Fundamentals on MySQL Environment

Obiettivi d esame PHP Developer Fundamentals on MySQL Environment Obiettivi d esame PHP Developer Fundamentals on MySQL Environment 1.0 Ambiente di sviluppo 1.1 Web server e database MySQL Comprendere la definizione dei processi che si occupano di fornire i servizi web

Dettagli

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

Dettagli

Application Server per sviluppare applicazioni Java Enterprise

Application Server per sviluppare applicazioni Java Enterprise Application Server per sviluppare applicazioni Java Enterprise Con il termine Application Server si fa riferimento ad un contenitore, composto da diversi moduli, che offre alle applicazioni Web un ambiente

Dettagli

Università degli Studi "Roma Tre" Dipartimento di Informatica ed automazione. Facoltà di Ingegneria

Università degli Studi Roma Tre Dipartimento di Informatica ed automazione. Facoltà di Ingegneria Università degli Studi "Roma Tre" Dipartimento di Informatica ed automazione Facoltà di Ingegneria Corso di Laurea in Ingegneria Informatica Tesi di Laurea AUTENTICAZIONE PER APPLICAZIONI WEB Relatore

Dettagli

Indice PARTE PRIMA L INIZIO 1

Indice PARTE PRIMA L INIZIO 1 Indice Introduzione XIII PARTE PRIMA L INIZIO 1 Capitolo 1 Esplorare il World Wide Web 3 1.1 Come funziona il World Wide Web 3 1.2 Browser Web 10 1.3 Server Web 14 1.4 Uniform Resource Locators 15 1.5

Dettagli

Sistemi per la gestione di database: MySQL ( )

Sistemi per la gestione di database: MySQL ( ) Sistemi per la gestione di database: MySQL ( ) Relational Database e Relational Database Management System Un database è una raccolta di dati organizzata in modo da consentire l accesso, il reperimento

Dettagli

Guida Rapida all uso del License Manager di ROCKEY4Smart (V. 1.0.10.724)

Guida Rapida all uso del License Manager di ROCKEY4Smart (V. 1.0.10.724) Guida Rapida all uso del License Manager di ROCKEY4Smart (V. 1.0.10.724) Procedo con un esempio: voglio proteggere una applicazione (nell esempio Blocco Note di Windows: notepad.exe) per distribuirla con

Dettagli

Progetti Strategici - Guida alla compilazione Online

Progetti Strategici - Guida alla compilazione Online Progetti Strategici - Guida alla compilazione Online PAR FAS 2007-2013 - Linea di azione 1.1 P.I.R. 1.1.B La presente guida illustra le funzionalità principali della piattaforma informatica realizzata

Dettagli

SWIM v2 Design Document

SWIM v2 Design Document PROGETTO DI INGEGNERIA DEL SOFTWARE 2 SWIM v2 DD Design Document Matteo Danelli Daniel Cantoni 22 Dicembre 2012 1 Indice Progettazione concettuale Modello ER Entità e relazioni nel dettaglio User Feedback

Dettagli

Corso di PHP. Prerequisiti. 1 - Introduzione

Corso di PHP. Prerequisiti. 1 - Introduzione Corso di PHP 1 - Introduzione 1 Prerequisiti Conoscenza HTML Principi di programmazione web Saper progettare un algoritmo Saper usare un sistema operativo Compilazione, link, esecuzione di programmi Conoscere

Dettagli

Benvenuti. Luca Biffi, Direttore Tecnico di Achab [email protected]. Achab techjam Archive Server for MDaemon

Benvenuti. Luca Biffi, Direttore Tecnico di Achab supporto@achab.it. Achab techjam Archive Server for MDaemon Benvenuti Luca Biffi, Direttore Tecnico di Achab [email protected] Achab techjam Archive Server for MDaemon Usare Archive Server for MDaemon al 100%: guida alle funzionalità "nascoste" Achab 2 Agenda Come

Dettagli

Manuale d uso della libreria Volta Log

Manuale d uso della libreria Volta Log Manuale d uso della libreria Volta Log www.satellitevolta.com 1 www.satellitevolta.com 2 [Rif.01] Pacchetto di distribuzione di Volta Log (volta-log-x.y.z.* scaricabile da http://sourceforge.net/projects/voltalog/files/?source=navbar)

Dettagli

Il sofware è inoltre completato da una funzione di calendario che consente di impostare in modo semplice ed intuitivo i vari appuntamenti.

Il sofware è inoltre completato da una funzione di calendario che consente di impostare in modo semplice ed intuitivo i vari appuntamenti. SH.MedicalStudio Presentazione SH.MedicalStudio è un software per la gestione degli studi medici. Consente di gestire un archivio Pazienti, con tutti i documenti necessari ad avere un quadro clinico completo

Dettagli

Gestione di un magazzino: sviluppo di un applicazione web-database

Gestione di un magazzino: sviluppo di un applicazione web-database Università degli studi di Modena e Reggio Emilia Facoltà di Ingegneria - Sede di Modena Corso di Diploma Universitario in Ingegneria Informatica Gestione di un magazzino: sviluppo di un applicazione web-database

Dettagli

Capitolo 4 Pianificazione e Sviluppo di Web Part

Capitolo 4 Pianificazione e Sviluppo di Web Part Capitolo 4 Pianificazione e Sviluppo di Web Part Questo capitolo mostra come usare Microsoft Office XP Developer per personalizzare Microsoft SharePoint Portal Server 2001. Spiega come creare, aggiungere,

Dettagli

Università Politecnica delle Marche. Progetto Didattico

Università Politecnica delle Marche. Progetto Didattico Università Politecnica delle Marche Facoltà di Ingegneria Corso di Laurea in Ingegneria Informatica e dell Automazione Sede di Ancona Anno Accademico 2011-2012 Corso di Tecnologie WEB Docente prof. Alessandro

Dettagli

Manuale Knowledge Base

Manuale Knowledge Base (Riservato a rivenditori e agenzie) Versione Luglio 2010 SOMMARIO Introduzione... 2 Accesso... 2 Menu Conoscenze... 3 Bacheca... 4 Voci di menu... 5 Ricerca... 5 Ricerca Semplice... 6 Ricerca avanzata...

Dettagli

LA GESTIONE DELLE VISITE CLIENTI VIA WEB

LA GESTIONE DELLE VISITE CLIENTI VIA WEB LA GESTIONE DELLE VISITE CLIENTI VIA WEB L applicazione realizzata ha lo scopo di consentire agli agenti l inserimento via web dei dati relativi alle visite effettuate alla clientela. I requisiti informatici

Dettagli

Corso di Laurea in Matematica. Seminario C/C++ Lorenzo Dusty Costa. Università degli Studi di Milano Dipartimento di Matematica

Corso di Laurea in Matematica. Seminario C/C++ Lorenzo Dusty Costa. Università degli Studi di Milano Dipartimento di Matematica Corso di Laurea in Matematica Seminario C/C++ Costa Università degli Studi di Milano Dipartimento di Matematica 19 Ottobre 2011 Cos'é un'ide IDE = Integrated Development Environment Consiste in: Editor

Dettagli

Per scrivere una procedura che non deve restituire nessun valore e deve solo contenere le informazioni per le modalità delle porte e controlli

Per scrivere una procedura che non deve restituire nessun valore e deve solo contenere le informazioni per le modalità delle porte e controlli CODICE Le fonti in cui si possono trovare tutorial o esempi di progetti utilizzati con Arduino si trovano nel sito ufficiale di Arduino, oppure nei forum di domotica e robotica. Il codice utilizzato per

Dettagli

DBMS e Linguaggi di programmazione nell'era di Internet

DBMS e Linguaggi di programmazione nell'era di Internet DBMS e Linguaggi di programmazione nell'era di Internet Crippa Francesco [email protected] Crippa Francesco (GPL) 1 Programma del corso DBMS nati per il WEB: MySQL Postgres Il cuore del WWW, il web

Dettagli

MANUALE D USO MANUALE D USO

MANUALE D USO MANUALE D USO MANUALE D USO MANUALE D USO 1 INDICE 1 INTRODUZIONE... 3 2 COMPONENTE WEB 4EXPENSE... 5 2.1 LOG IN AMMINISTRATORE... 5 2.2.1 HOME PAGE FUNZIONALITA DI GESTIONE... 6 2.2.2 UTENTI (UTILIZZATORE DELL APP)...

Dettagli

ESERCITAZIONE Semplice creazione di un sito Internet

ESERCITAZIONE Semplice creazione di un sito Internet ESERCITAZIONE Semplice creazione di un sito Internet Sistemi e Tecnologie Informatiche - Prof. Gregorio Cosentino 1 Internet Una rete globale che connette milioni di computer in tutto il mondo, anarchica

Dettagli

1) GESTIONE DELLE POSTAZIONI REMOTE

1) GESTIONE DELLE POSTAZIONI REMOTE IMPORTAZIONE ESPORTAZIONE DATI VIA FTP Per FTP ( FILE TRANSFER PROTOCOL) si intende il protocollo di internet che permette di trasferire documenti di qualsiasi tipo tra siti differenti. Per l utilizzo

Dettagli

Benvenuti. Luca Biffi, Supporto Tecnico Achab [email protected]

Benvenuti. Luca Biffi, Supporto Tecnico Achab supporto@achab.it Benvenuti Luca Biffi, Supporto Tecnico Achab [email protected] DriveLock: bloccare le applicazioni indesiderate Agenda 3 semplici domande Application control di DriveLock Confronto con Windows 7 Conclusioni

Dettagli

Capitolo 3. L applicazione Java Diagrammi ER. 3.1 La finestra iniziale, il menu e la barra pulsanti

Capitolo 3. L applicazione Java Diagrammi ER. 3.1 La finestra iniziale, il menu e la barra pulsanti Capitolo 3 L applicazione Java Diagrammi ER Dopo le fasi di analisi, progettazione ed implementazione il software è stato compilato ed ora è pronto all uso; in questo capitolo mostreremo passo passo tutta

Dettagli

Data Base. Master "Bio Info" Reti e Basi di Dati Lezione 6

Data Base. Master Bio Info Reti e Basi di Dati Lezione 6 Data Base 1 Sommario I concetti fondamentali. Database Relazionale.. Query e SQL MySql, Creazione di un db in MySQL con PHPmyAdmin Creazione database e delle Tabelle Query Inserimento Ricerca Modifica

Dettagli

Installazione di Moodle. Preparato per: Gruppo A, Piattaforma di E - Learning Preparato da: Cinzia Compagnone, Vittorio Saettone

Installazione di Moodle. Preparato per: Gruppo A, Piattaforma di E - Learning Preparato da: Cinzia Compagnone, Vittorio Saettone Installazione di Moodle Preparato per: Gruppo A, Piattaforma di E - Learning Preparato da: Cinzia Compagnone, Vittorio Saettone 21 maggio 2006 Installazione di Moodle Come installare Moodle: Questa guida

Dettagli

Dexma Newsletter System

Dexma Newsletter System Dexma Newsletter System Quick Reference Indice Indice... 2 1 Introduzione a Postletter... 3 2 Richiesta di un account Demo... 3 3 Liste di invio... 5 3.1 Creazione di una lista... 5 3.2 Andare alla lista

Dettagli

Manuale Utente. Data : 01/02/2011 Versione : 1.0

Manuale Utente. Data : 01/02/2011 Versione : 1.0 Sistema Informativo di EMITTENTI Data : 01/02/2011 Versione : 1.0 Storia delle modifiche Data Versione Tipo di modifica 01/02/2011 1.0 Creazione del documento 2 Indice dei contenuti 1 Introduzione... 5

Dettagli

Scenari esemplificativi di utilizzo delle Mailing List

Scenari esemplificativi di utilizzo delle Mailing List Scenari esemplificativi di utilizzo delle Mailing List La Mailing List è un particolare tipo di account che permette di definire al proprio interno un insieme di destinatari ai quali sarà possibile spedire

Dettagli

Guida Operativa. ArchiviaOL

Guida Operativa. ArchiviaOL Guida Operativa ArchiviaOL I ArchiviaOL Indice 0 Part I Introduzione 3 Part II Gestione utenze 5 Part III Modalità di accesso all'applicativo 7 1 Autenticazione... da programmi fiscali e gestionali 7 2

Dettagli

MANUALE D USO DELLA PIATTAFORMA ITCMS

MANUALE D USO DELLA PIATTAFORMA ITCMS MANUALE D USO DELLA PIATTAFORMA ITCMS MANULE D USO INDICE 1. INTRODUZIONE... 2 2. ACCEDERE ALLA GESTIONE DEI CONTENUTI... 3 3. GESTIONE DEI CONTENUTI DI TIPO TESTUALE... 4 3.1 Editor... 4 3.2 Import di

Dettagli

Scaletta. Estensioni UML per il Web. Applicazioni web - 2. Applicazioni web. WAE: Web Application Extension for UML. «Client page»

Scaletta. Estensioni UML per il Web. Applicazioni web - 2. Applicazioni web. WAE: Web Application Extension for UML. «Client page» Scaletta Estensioni UML per il Web Michele Zennaro 14-05-2004 Le applicazioni web Scopo di un estensione UML per il web Due punti di vista Uno più astratto Uno più vicino ai file fisici conclusivo Commenti

Dettagli

INGEGNERIA DEL SOFTWARE

INGEGNERIA DEL SOFTWARE INGEGNERIA DEL SOFTWARE A.A. 2014 2015 Pasquale Ardimento, Nicola Boffoli, Danilo Caivano, Giuseppe Visaggio Sommario ð Il Piano del Corso ð Svolgimento degli Esami ð Bibliografia ð Materiale didattico

Dettagli

Corso Analista Programmatore Web PHP Corso Online Analista Programmatore Web PHP

Corso Analista Programmatore Web PHP Corso Online Analista Programmatore Web PHP Corso Analista Programmatore Web PHP Corso Online Analista Programmatore Web PHP Accademia Futuro [email protected] Programma Generale del Corso Analista Programmatore Web PHP Tematiche Trattate

Dettagli

Scrivere uno script php che, dato un array associativo PERSONE le cui chiavi sono i

Scrivere uno script php che, dato un array associativo PERSONE le cui chiavi sono i Esercizi PHP 1. Scrivere uno script PHP che produca in output: 1. La tabellina del 5 2. La tavola Pitagorica contenuta in una tabella 3. La tabellina di un numero ricevuto in input tramite un modulo. Lo

Dettagli

XML e PHP. Gestire XML con PHP. Appendice

XML e PHP. Gestire XML con PHP. Appendice Appendice XML e PHP Tra tutti i linguaggi di programmazione esistenti PHP è tra quelli che meglio si adattano all elaborazione di documenti XML. PHP è un linguaggio di programmazione che consente di arricchire

Dettagli

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

Dettagli

SINTESI. Comunicazioni Obbligatorie [COB] Import massivo XML. ver. 1.0 del 14.05.2008 (ver. COB 3.13.01)

SINTESI. Comunicazioni Obbligatorie [COB] Import massivo XML. ver. 1.0 del 14.05.2008 (ver. COB 3.13.01) SINTESI Comunicazioni Obbligatorie [COB] XML ver. 1.0 del 14.05.2008 (ver. COB 3.13.01) Questo documento è una guida alla importazione delle Comunicazioni Obbligatorie: funzionalità che consente di importare

Dettagli

Manuale Servizio NEWSLETTER

Manuale Servizio NEWSLETTER Manuale Servizio NEWSLETTER Manuale Utente Newsletter MMU-05 REDAZIONE Revisione Redatto da Funzione Data Approvato da Funzione Data 00 Silvia Governatori Analista funzionale 28/01/2011 Lorenzo Bonelli

Dettagli

Protocolli e architetture per WIS

Protocolli e architetture per WIS Protocolli e architetture per WIS Web Information Systems (WIS) Un Web Information System (WIS) usa le tecnologie Web per permettere la fruizione di informazioni e servizi Le architetture moderne dei WIS

Dettagli

Analisi di vulnerabilità e prevenzione di attacchi SQL injection e Cross-site Scripting

Analisi di vulnerabilità e prevenzione di attacchi SQL injection e Cross-site Scripting Pattern Recognition and Applications Lab Analisi di vulnerabilità e prevenzione di attacchi SQL injection e Cross-site Scripting Dott. Ing. Igino Corona igino.corona (at) diee.unica.it Corso Sicurezza

Dettagli

Guida all utilizzo a cura di Francesco Lattari. Guida all utilizzo di moodle per studenti

Guida all utilizzo a cura di Francesco Lattari. Guida all utilizzo di moodle per studenti Guida all utilizzo a cura di Francesco Lattari Indice Introduzione p. 01 Come collegarsi p. 02 Come registrarsi p. 03 Come effettuare il login p. 04 La Home dello studente p. 05 Header e Funzionalità p.

Dettagli

OpenVAS - Open Source Vulnerability Scanner

OpenVAS - Open Source Vulnerability Scanner OpenVAS - Open Source Vulnerability Scanner di Maurizio Pagani Introduzione OpenVAS è un framework che include servizi e tool per la scansione e la gestione completa delle vulnerabilità. Un vulnerability

Dettagli

Application Assessment Applicazione ARCO

Application Assessment Applicazione ARCO GESI Application Assessment Applicazione ARCO Versione 2 Milano 14 Luglio 2006 Hacking Team S.r.l. http://www.hackingteam.it Via della Moscova, 13 [email protected] 20121 MILANO (MI) - Italy Tel. +39.02.29060603

Dettagli

Guida di Pro Spam Remove

Guida di Pro Spam Remove Guida di Pro Spam Remove 1) SOMMARIO 2) ISTRUZIONI DI BASE 3) CONFIGURAZIONE 4) FILTRO 5) ARCHIVIO E-MAIL 6) NOTE CONCLUSIVE 1) SOMMARIO Pro Spam Remove è un software che si occupa di bloccare tutto lo

Dettagli

EXPLOit Content Management Data Base per documenti SGML/XML

EXPLOit Content Management Data Base per documenti SGML/XML EXPLOit Content Management Data Base per documenti SGML/XML Introduzione L applicazione EXPLOit gestisce i contenuti dei documenti strutturati in SGML o XML, utilizzando il prodotto Adobe FrameMaker per

Dettagli

Lezioni di Laboratorio sui Data Base

Lezioni di Laboratorio sui Data Base Lezioni di Laboratorio sui Data Base Docente Tutor: Dott. Gianluigi Roveda Informatica per l'impresa Prima Parte: Open Office - Base PREMESSA Questo lavoro è stato realizzato a partire dalle slides del

Dettagli

I.N.A.I.L. Certificati Medici via Internet. Manuale utente

I.N.A.I.L. Certificati Medici via Internet. Manuale utente I.N.A.I.L. Certificati Medici via Internet Manuale utente CERTIFICATI MEDICI... 1 VIA INTERNET... 1 MANUALE UTENTE... 1 COME ACCEDERE AI CERTIFICATI MEDICI ON-LINE... 3 SITO INAIL... 3 PUNTO CLIENTE...

Dettagli

Presentazione Data Base

Presentazione Data Base Presentazione Data Base Ovvero: il paradigma LAPM (Linux - Apache - PHP - mysql) come supporto Open Source ad un piccolo progetto di Data Base relazionale, e tipicamente ad ogni applicazione non troppo

Dettagli

Approfondimenti. Il controllo di SQL Injection nelle pagine ASP e ASP.NET. U.A. 5 - Database in rete con le pagine ASP e ASP.

Approfondimenti. Il controllo di SQL Injection nelle pagine ASP e ASP.NET. U.A. 5 - Database in rete con le pagine ASP e ASP. U.A. 5 - Database in rete con le pagine ASP e ASP.NET 269 Il controllo di SQL Injection nelle pagine ASP e ASP.NET Approfondimenti Con il termine SQL Injection si intende l aggiunta di istruzioni SQL nell

Dettagli

Firma Digitale Remota

Firma Digitale Remota Firma Digitale Remota Versione: 0.03 Aggiornata al: 06.05.2013 Sommario 1. Attivazione Firma Remota con OTP con Display o USB.... 3 1.1 Attivazione Firma Remota con Token YUBICO... 5 1.2 Attivazione Firma

Dettagli