SPECIALE SQL INJECTION

Dimensione: px
Iniziare la visualizzazioe della pagina:

Download "SPECIALE SQL INJECTION"

Transcript

1 INDICE SPECIALE SQL INJECTION Difficoltà: INTERMEDIA SQL INJECTION (INTRODUZIONE).pag.1 LA TECNICA..pag.1 TESTING pag.2 I PROBLEMI PIÙ DIFFUSI..pag.3 - ACCESSI NON DESIDERATI pag.3 - VISUALIZZARE DATI NON ACCESSIBILI.pag.4 - ANALISI DELLE QUERY TRAMITE L INTRODUZIONE DI ERRORI pag.5 - ADVANCED SELECT INJECTION pag.5 - INSERT INJECTION pag.6 - STORED PROCEDURES INJECTION.pag.7 - LE FEATURE E I PROBLEMI DEI DBMS PIÙ DIFFUSI pag.8 SCRIVERE CODICE SICURO.pag.8 COME PREVENIRE LE SQL INJECTION.pag.9 CONCLUSIONI pag.11

2 SQL INJECTION (INTRODUZIONE) Negli ultimi due anni, gli attacchi contro le applicazioni web sono aumentati a dismisura attirando, in qualche modo, l attenzione di tutto il mondo che gira intorno alla sicurezza informatica. La voglia di proteggersi, con il conseguente aumento dei fondi destinati al capitolo sicurezza, è un problema molto sentito da Comandi ed Enti, così come e in maniera ancora più maniacale da quei siti web che appartengono ad agenzie o a semplici industrie dove la tutela del segreto rientra nella lista delle priorità. Il compito del system administrator e di conseguenza del web master diventa sempre più un compito difficile da svolgere senza incorrere in qualche svista progettuale la quale potrebbe causare una falla nel sistema e diventare m un problema di cui se ne può ignorare l esistenza. La parvenza di sicurezza pubblicizzata da molte case specializzate nel settore, porta molte volte ad hardenizzare (mettere in sicurezza) solo alcuni aspetti del sistema, tralasciandone altri, uno di questi riguarda la protezione dei database relativi ai siti web. L evoluzione delle esigenze del pubblico internauta (neologismo per indicare un utente di INTERNET) ha comportato l introduzione di tecnologie dinamiche, tra le quali la creazione di contenuti on demand, ma sono ancora più disparati i servizi offerti al giorno d oggi dai siti web. Sono in forte aumento i server, che, anche a livello gratuito, offrono la possibilità di elaborare script per la creazione di contenuti web, senza dimenticare l indiscusso aumento degli utenti che stanno provvedendo a trasformare i propri siti statici in vere e proprie applicazioni residenti sul web (siti dinamici). Nelle maggior parte dei casi, queste applicazioni, utilizzano dati provenienti dall utente ed introducono quindi la possibilità di poter modificare delle variabili utilizzate dallo script, aumentando di conseguenza l insorgere di vulnerabilità manipolabili da remoto. Nei prossimi paragrafi proveremo ad analizzare una delle vulnerabilità più diffuse tra le applicazioni web-related la SQL Injection. LA TECNICA La maggior parte delle applicazioni web vengono realizzate interfacciando l applicazione ad un server DBMS (Data Base Management System) ed interagiscono con tali server con l ausilio del linguaggio standard SQL. SQL injection può considerarsi una tecnica di exploiting delle web application che utilizzano dati provenienti dai client nelle query, senza controllare la presenza di caratteri potenzialmente dannosi. In particolare, la tecnica dell SQL injection prevede lo sfruttamento, attraverso stringhe opportunamente manipolate ed inviate ad un web server con vulnerabilità specifiche riscontrate nei database SQL. Contrariamente a quello che si potrebbe pensare, la diffusione di queste vulnerabilità risulta molto diffusa ed è dovuta in molti casi alla mancanza di professionalità di molti programmatori, in alcuni casi improvvisati e mancanti di solide basi di programmazione. Nonostante sia abbastanza semplice difendersi da un attacco portato con questa tecnica ad oggi molte aziende, multinazionali comprese, sono vulnerabili all attacco e di conseguenza esposte a danni potenzialmente gravosi dal punto di vista economico e dell immagine. In ambito difesa, i danni che potrebbero creare questo tipo di vulnerabilità, oltre a danni che riguardano l immagine, potrebbe dar luogo a fuga di notizie con tutte le 1

3 conseguenze che comporterebbe tale azione. La quasi totalità dei portali a contenuto dinamico presenti su internet si basa su un colloquio tra web server ed un database SQL. Il colloquio avviene attraverso le cosiddette query, ovvero le richieste al database, scritte codificandole attraverso degli URL generati dall'applicazione web. Le query devono rispettare un certo standard di sintassi, comprendendo stringhe alfanumeriche e contenenti anche punteggiatura. A livello internazionale il codice ASCII regolamenta la codifica di tutti i caratteri, in pratica, ogni carattere e' associato ad un valore numerico in base ad una tabella, ma nel caso delle query SQL generate da un'applicazione web, il codice ASCII viene sostituito dall'unicode, che prevede di associare un valore esadecimale preceduto da un segno % ad ogni lettera o numero che si utilizza. Secondo il codice Unicode, per esempio, il segno percentuale viene codificato con %25 mentre il punto si codifica come %2E. Quando un'applicazione web genera una query SQL dinamica la genera codificandola in Unicode e, dato che i portali web usano molto spesso gli stessi script per effettuare le stesse operazioni di gestione, è possibile, per un hacker che sa com'e' strutturato un determinato script, inserire nella barra di indirizzi di Internet Explorer o qualsiasi altro browser, una URL contenente una query SQL creata ad hoc che ha come unico scopo quello di arrecare un danno al web server e all'applicazione che risiede sul server. Gli attacchi portati con questa tecnica producono due effetti principali: il primo e' quello di poter inserire ed estrarre dati nel database a piacimento e, nei casi più gravi, quello di poter ottenere il controllo remoto del server, ovvero di impadronirsi di tutte le sue funzionalità, con tutto quello che ne consegue a livello di danno aziendale. Un amministratore di rete che vuole difendersi da un attacco di questo tipo deve testare tutti gli script che fanno parte dell'applicativo che gestisce, verificando che tutti siano immuni dall'attacco. Nel prossimo paragrafo analizzeremo alcuni semplici test che un buon programmatore dovrebbe effettuare per mettere in sicurezza il proprio database; in rete comunque, sono disponibili white paper su come testare i propri script e su come metterli in sicurezza, ovviamente è d'obbligo disporre di conoscenze specifiche nel campo dei database relazionali per poter condurre un'attività specifica di bonifica delle vulnerabilità. TESTING In questo paragrafo illustreremo alcuni semplici test che serviranno a controllare le applicazioni e trovare eventualmente, vulnerabilità dovute alla tecnica dell SQL Injection. Questi controlli potrebbero essere molto complessi ma esistono dei casi in cui, la ricerca di script potenzialmente vulnerabili è molto semplice. Il test più semplice da effettuare consiste nell aggiunta di un apice in un form, per vedere come si comporta nella risposta, il server DBMS; se quest ultimo, ad esempio, risponde con una pagina bianca o piena di errori la nostra ricerca della vulnerabilità è già ad un buon punto. Un buon programmatore dovrebbe avere sotto controllo l input di ogni variabile senza dare per scontato che l utente, utilizzatore della web application, formatti correttamente le variabili. Ogni possibile campo deve essere testato per tutte le vulnerabilità per le quali queste potrebbero essere coinvolte, in modo da evitare ripercussioni in tutto lo script, spesso legato ad altri. 2

4 Un buon metodo di controllo delle applicazioni web potrebbe essere quello di inserire in ogni campo una comando tipico di SQL preceduto da un apice, cercando cosi` eventuali problemi sulle singole variabili. Dopo aver provato i campi uno alla volta potrebbe essere utile riempire il form con dati formalmente corretti e ripetere la procedura "apice+comando" per ogni campo, mantenendo formalmente corretti gli altri campi. Ipotizziamo di passare ad uno script questi parametri formalmente corretti: Lo script funziona alla perfezione. Proviamo ora a modificare la stringa con un apice nel parametro "nome": Ipotizzando che lo script sia vulnerabile, siamo andati a modificare i parametri inviati al server DBMS dalla query, modificandone strutturalmente la sintassi (ricordo che l'apice (') e` un operatore SQL). Cosa potrebbe accadere utilizzando una stringa di parametri come quella proposta dall'esempio? I risultati potrebbero essere molteplici: dalla semplice pagina bianca ai piu` disparati errori provenienti dal server DBMS. Potrebbe riportare l'errore che gli altri paramentri non sono stati inseriti o addirittura mostrare dati che non dovrebbero essere visualizzati con quella query. Dopo aver trovato una possibile vulnerabilita` del tipo SQL Injection, la parte piu` importante e` l'interpretazione degli errori. Se l'errore viene generato del server DBMS siamo sicuramente davanti ad una vulnerabilita` ad SQL Injection ma gli errori spesso sono tutt'altro che ovvi. Bisogna inoltre prestare attenzione alle piu` minime modifiche della pagina, segno di SQL Injection Exploiting, poiche` dei malintenzionati potrebbero nascondere codice malevole inserendo, ad esempio, eventuali errori negli header del documento HTML e non mostrandone traccia nel body, (la parte visualizzata dal browser). Non bisogna fermarsi all'analisi della singola pagina colpita da SQL Injection ma e` buona abitudine seguire i link presenti nella pagina, alla ricerca di eventuali ripercussioni sull'intera applicazione ed e` importante seguire anche eventuali redirect verso una pagina di errore predefinita, spesso preceduta da una schermata di errore propria del database. I PROBLEMI PIU` DIFFUSI Passiamo ora all'analisi dei piu` diffusi problemi di sicurezza dovuti alla vulnerabilita` da SQL Injection. ACCESSI NON DESIDERATI L'autenticazione delle web application e` spesso delegata ad uno script di login che ha il compito di processare la coppia login/password proveniente dal client e di confrontarla con le coppie presenti nel database. In caso di corrispondenza lo script settera` gli appositi flag per consentire il nostro accesso o, nel caso opposto, ci vietera` l'accesso. Consideriamo il seguente codice PHP: $user = $_GET['nome']; 3

5 $passwd = $_GET['password']; $query = mysql_query( SELECT * FROM utenti WHERE user='$user' AND password='$passwd' ); if (mysql_num_rows($query) == 0) { $logged = 0; } else { $logged = 1; } Questo breve script prende i dati dalla querystring e li mette nella query senza controllare la presenza di eventuali caratteri pericolosi. Ipotizziamo di modificare entrambi gli argomenti passati allo script in "' OR ''='" e di far processare la pagina al server. La parte condizionale della query passata al server DBMS (in questo caso MySQL) diventa:... WHERE user='' OR ''='' AND passwd='' OR ''='' Come si può ben capire, entrambe queste condizioni sono sempre verificate e mysql_num_rows() restituira` un valore sicuramente diverso da zero (se la tabella contiene dati) consentendo così il login a qualsiasi persona a conoscenza di questo problema. VISUALIZZARE DATI NON ACCESSIBILI Il mancato parsing (controllo/analisi) dei parametri per caratteri maligni ha introdotto la possibilita` di editare, a piacimento dell'attaccante, la query verso il database. Abbiamo appena visto che e` possibile entrare con il massimo dei privilegi in un'applicazione web ma si potrebbe decidere di accedere a dati non direttamente accessibili dall'applicazione stessa. Lo standard SQL permette la creazione di SELECT multiple tramite il comando UNION e tale comando puo` essere sfruttato per gli scopi dell'attaccante. Prendiamo in esame la seguente query: SELECT nome FROM users WHERE paese='$var' La variabile $var dovrebbe contenere il paese di provenienza degli utenti, dei quali stiamo cercando il nome ma, su di essa, non viene fatto nessun controllo ed e` quindi possibile scrivere codice SQL direttamente nella variabile. Nel nostro caso $var conterra` ' UNION ALL SELECT nome, passwd FROM users ''=' Vediamo il contenuto della query una volta settata $var: SELECT nome FROM users WHERE paese='' UNION ALL 4

6 SELECT nome, passwd FROM users WHERE ''='' Evidentemente la prima SELECT non restituira` nessun record (supponendo che nessun utente ha il campo paese vuoto) mentre la seconda SELECT e` incondizionata e restituira` tutte le coppie nome/password. Il problema e` quello della visualizzazione dei dati: i dati ora sono stati estratti dal database ma l'applicazione considera solo il campo "nome" e non "password". Un fattore mitigante consiste nel fatto che il linguaggio SQL permette l'aliasing dei campi tramite il comando AS che puo` essere sfruttato per fare l'output dei dati non visualizzabili ordinariamente. ANALISI DELLE QUERY TRAMITE L'INTRODUZIONE DI ERRORI Molti server web restituiscono parte delle query in caso di errore. Normalmente questa funzionalita` e` utile, anzi, in alcuni casi necessaria, durante il debugging delle applicazioni web, ma puo` essere usata impropriamente per analizzare le query e di conseguenza carpire informazioni sulla realizzazione di una web application vulnerabile da SQL Injection. Quindi, risulterebbe utile testare un'applicazione inserendo volutamente errori di sintassi nei campi che interagiscono con l'utente, magari utilizzando costrutti SQL incompleti come "valore' ", " ' ", "'valore", " ' OR ' ", ";" e "0,1,2". ADVANCED SELECT INJECTION Non sempre le web application elaborano query semplici e lineari. Capita a volte che siano presenti istruzioni racchiuse da parentesi, selezione sulla base di wildcards e campi non direttamente modificabili. Iniettare codice sintatticamente corretto e funzionante all'interno di queste tipologie di query potrebbe richiedere l'utilizzo di piccoli accorgimenti, a volte non immediati. SELECT nome FROM utenti WHERE (paese='campovariabile') Estrapolare dati da una query di questo tipo non puo` essere fatto con il metodo visto nelle pagine precedenti poiche` ci verrebbero segnalati diversi errori di sintassi. Occorre quindi modificare la query utilizzando un campo di questo genere: ') UNION ALL SELECT campo FROM altratabella WHERE (''=' che, sostituita nella precedente, soddisfa perfettamente la sintassi SQL: SELECT nome FROM utenti WHERE (paese='') UNION ALL SELECT campo FROM altratabella WHERE (''='') 5

7 Altra sintassi che potrebbe creare problemi e` quella dovuta al costrutto di confronto LIKE. SELECT nome FROM utenti WHERE nome LIKE '%campovariabile%' I simboli di percentuale funzionano nelle query SQL come wildcards e un eventuale completamento %% ritornerebbe tutti i record e quindi non sarebbe applicabile il costrutto UNION. Bisogna quindi pensare ad inserire una stringa che non risulti in nessuno dei record, come potrebbe essere ad esempio "!?!". Un campo tipico per iniettare codice in questa query potrebbe essere il seguente:!?!%' UNION ALL SELECT campo FROM tab WHERE campo LIKE '% Sostituendo la query SQL diventa: SELECT nome FROM utenti WHERE nome LIKE '%!?!%' UNION ALL SELECT campo FROM altratabella WHERE campo LIKE '%%' INSERT INJECTION Finora abbiamo considerato SQL Injection un problema legato al costrutto SELECT ma possiamo tranquillamente dire che questa vulnerabilita` si puo` estendere a qualsiasi query contentente input dell'utente non appositamente controllato. Un altro costrutto potenzialmente vulnerabile e` INSERT, necessario per l'inserimento di nuovi record all'interno di una tabella. Iniettare codice nella query INSERT consente all'utente smaliziato di prelevare dati da un database e utilizzarli per la propria registrazione. Ad esempio e` possibile registrarsi al posto di un altro utente senza aver nessun dato su di lui. L'unico trucco necessario per assicurarsi dell'effettiva estrazione dei dati e` quella di visualizzarli (ad esempio tramite il pannello di controllo). Per portare a termine questo tipo di exploit il server DBMS deve supportare le SUBSELECT (ad esempio MySQL non supporta questa feature) e si devono conoscere i nomi di campi e tabella, ricavabili con un po' di reverse engineering. Ipotizziamo di avere la seguente query di inserimento: INSERT INTO tab (nome, cognome) VALUES ('campo1', 'campo2') Se al posto di campo1 inseriamo ' + SELECT nome FROM tab LIMIT 1 + ' e al posto di campo2 inseriamo ' + SELECT cognome FROM tab LIMIT 1 + ' 6

8 otteniamo una perfetta replica di un record esistente all'interno del database poiche` la query in questione diventa: INSERT INTO tab (nome, cognome) VALUES ('' + SELECT nome FROM tab LIMIT 1 + '', '' + SELECT cognome FROM tab LIMIT 1 + '') Per cambiare l'utente da selezionare basta scorrere i record con l'offset offerto dall'istruzione LIMIT o, eventualmente, usare la sintassi NOT IN () per ciclare i record. STORED PROCEDURES INJECTION Sfruttare le stored procedures e` generalmente molto piu` semplice che agire sul costrutto SELECT. Le stored procedures sono parti di codice SQL richiamabili nei costrutti SQL tramite l'utilizzo di EXEC e sono praticamente degli script batch, atti ad effettuare operazioni direttamente all'interno del server DBMS. Questi, hanno la particolarita` di essere abbastanza veloci e sono molto utilizzati per le operazioni transizionali. Non tutti i server DBMS permettono l'esecuzione delle stored procedures e, per richiamare l'esecuzione delle stesse, e` necessario che lo stesso server permetta l'utilizzo di statement multipli (istruzioni SQL distinte separate da un punto e virgola). Diversi server DBMS hanno, comunque, queste feature e possiedono, inoltre, diverse Stored Procedures predefinite, molte delle quali possono compiere operazioni molto interessanti per un attaccante. Esaminiamo la vulnerabilita` piu` evidente nel server DBMS di MicroSoft, MS SQL Server. Tale server attiva di default innumerevoli stored procedures, fra le quali troviamo xp_cmdshell ovvero un frontend per l'interprete dei comandi dei sistemi basati su kernel NT. Il server in questione supporta statement multipli e basta quindi una qualsiasi vulnerabilita` da SQL Injection per accedere al sistema con i permessi del server SQL. Consideriamo la seguente query: SELECT * FROM tab WHERE nome='campovariabile' Terminando il primo costrutto con un nome arbitrario ed applicando la sintassi di EXEC sulla procedura xp_cmdshell otteniamo la sequente query: SELECT * FROM tab WHERE nome='ed'; EXEC master.dbo.xp_cmdshell 'cmd.exe comando' Al posto di "comando" possiamo immettere qualsiasi stringa di comando interpretabile dalla shell dei sistemi NT, ovvero il sistema e` in balia dei comandi arbitrari. Ovviamente il sistema server SQL di Microsoft non e` l'unico ad offrire stored procedures predefinite ma 7

9 e` stato preso in considerazione per la gravita` della situazione che, combinata con errori di programmazione web permette l'accesso ad utenti non desiderati. E' quindi bene disabilitare, o rimuovere, le stored procedures non necessarie al corretto funzionamento del server e assicurarsi che i permessi sulle parti vitali del sistema siano piu` restrittivi possibile. LE FEATURE E I PROBLEMI DEI DBMS PIU` DIFFUSI MySQL Supporta 'INTO OUTFILE' Supporta 'UNION' (dalla versione 4.x) Spesso gira come "root" Molti moduli e librerie non supportano statement multipli Oracle Supporta le SubSelect Supporta 'UNION' Supporta le stored procedures Non supporta statement multipli Molte stored procedures preimpostate, alcune delle quali pericolose DB2 Supporta le SubSelect Supporta 'UNION' Supporta le stored procedures Non supporta statement multipli Postgres Supporta 'COPY' se fatto girare come superutente Supporta le SubSelect Supporta 'UNION' Supporta le stored procedures Supporta gli statement multipli MS SQL Server Supporta le SubSelect Supporta 'UNION' Supporta le stored procedures Supporta gli statement multipli Molte store procedures preimpostate sono pericolose SCRIVERE CODICE SICURO Come già accennato nei paragrafi precedenti ogni web application che si rispetti, deve seguire piccole norme di programmazione per elevare la sicurezza al massimo. Se l'applicazione riceve input dall'utente questo deve essere processato appropriatamente in modo da escludere eventuali caratteri maligni, che potrebbero interferire con le query previste dai programmatori. E' quindi necessario lasciar passare solo i caratteri necessari 8

10 e filtrare tutti gli indesiderati tramite l'utilizzo di parser appositi (magari una regular expression ben congegnata). Ad esempio per lasciar passare solo i caratteri alfabetici la regexp (regular expression) seguente e` l'ideale: s/[^a-za-z]//g mentre per far passare i soli numeri si puo` applicare: s/[^0-9]//g Lasciare solo i caratteri alfanumerici e` quasi sempre un'ottima soluzione al nostro problema ma puo` capitare di aver bisogno di altri tipi di caratteri. In questo caso e` bene sostituire ai caratteri la loro codifica nello standard UniCode o nello standard HTML. Ovviamente e` sempre bene utilizzare il minimo numero possibile di caratteri non alfanumerici per evitare potenziali problemi di iniezione. Altra feature interessante per aumentare la sicurezza delle web application potrebbe essere l'individuazione di tentativi di iniezione del codice prima del passaggio a stored procedures e a query. All'interno delle stored procedures e` bene non creare le query dinamicamente ma cercare di mantenere fisso piu` codice possibile. Realizzare una procedura di questo tipo richiede la creazione di una procedura contenente la sola query statica ed il semplice passaggio delle variabili come parametri. Ad esempio: CREATE PROC nvarchar(255) AS SELECT nome, cognome, indirizzo, telefono FROM utenti WHERE nick RETURN La configurazione del server deve essere piu` restrittiva possibile e deve evitare la possibilita` di accedere liberamente a parti del sistema non normalmente disponibili. Disabilitare le stored procedure non necessarie agli utenti potrebbe essere la soluzione ai nostri problemi ma un'attenta policy di permessi potrebbe evitare la mutilazione eccessiva del server DBMS. COME PREVENIRE LE SQL INJECTION Prevenire le SQL injection è un compito relativamente semplice ed è possibile svolgerlo in vari modi a seconda dei casi e delle preferenze. Analizziamo ora, una per una, tutte le possibilità per proteggere la propria applicazione web (nel nostro caso PHP) dalle SQL injection. Una prima soluzione ci è fornita direttamente dal file di configurazione php.ini. Impostando la voce magic_quotes_gpc PHP si prenderà cura di aggiungere i caratteri di 9

11 escare davanti a tutti gli (apice) contenuti nei Cookie, Post e Get. Questa soluzione non è tuttavia ottimale in quanto potrebbe causare incompatibilità con molte applicazioni web di terze parti ed inoltre non protegge da input maliziosi non provenienti da cookie, Post o Get ed in applicazioni particolarmente complesse non è impossibile che, studiando l applicazione, un hacker possa trovare il modo per poter infiltrare da qualche parte la sua SQL injection. Una seconda soluzione è quella di utilizzare addslashes() o funzioni simili come mysql_escape_string() su tute le variabili inserite in una query SQL. In questo modo si sarà sempre sicuri che in tutti i valori passati gli apici verranno convertiti in \ rendendoli così inoffensivi. Si noti però, come questa precauzione, così come quella precedente, diventa realmente sicura, solo se, nelle query SQL si utilizza l apice anche quando si manipolano valori numerici. In tutte le query è infatti consigliabile utilizzare sempre sintassi del tipo id= 1. In questo caso saremo protetti dalle SQL injection, in caso contrario un hacker potrebbe comunque aggiungere un OR 1=1 dopo l id desiderato senza che il nostro addslashes() possa in alcun modo aiutarci. Il problema non è limitato comunque al solo uso degli apici ma si presenta allo stesso modo usando come delimitatore di stringa nelle query il carattere (virgolette). Fortunatamente mysql_escape_string() effettua l escape di tutti i caratteri che possono essere usati come delimitatori di stringa risolvendo parecchi problemi. Un ultima alternativa, che risulta la più complessa, ma anche la più sicura, è quella di controllare di volta in volta ogni variabile inserita in una query con regular expression o altre funzioni specifiche. Se per esempio sappiamo a priori che una variabile deve contenere un numero intero potremmo usare una soluzione di questo tipo: $id = (int)$_post[ id ]; $query=mysql_query( SELECT * FROM users WHERE id=$id,$db); I questo caso possiamo essere sicuri che il campo id sarà un campo numerico, se qualcuno provasse ad inserire valori di altra natura la sintassi (int) restituirebbe infatti valore 0. In questo caso è persino inutile utilizzare gli apici prima e dopo $id. Nel caso invece di output testuali o di altra natura non numerica la soluzione ideale sono senza ombra di dubbio le regular expression, create di volta in volta per accettare esclusivamente il tipo di dati che si prevede utilizzare. Se ad esempio si desidera filtrare una variabile $stringa per essere sicuri che contenga solo caratteri alfanumerici si può usare la seguente regular expression: if (ereg( ^[A-Z0-9]+$,$stringa)) { mysql_query( SELECT * FROM users WHERE nome=$stringa,$db); } else print Parametro non valido ; Le Regular Expression sono senza ombra di dubbio lo strumento più potente a disposizione dei programmatori PHP per verificare che ogni input dell utente, qualsiasi sia la sua provenienza, corrisponda effettivamente al tipo di dato che era stato richiesto. 10

12 Questo tipo di controllo è sicuramente più complesso rispetto agli altri due o ad altri che potrebbero venir utilizzati ma garantisce, se la regular expression è ben strutturata, una sicurezza estremamente elevata: se un campo della nostra applicazione deve contenere solo ad es. : mele, è sempre meglio verificare che contenga effettivamente mele piuttosto che controllare che non contenga pere, in questo secondo caso infatti, anche in assenza di pere, il campo potrebbe comunque contenere pesche o altro. Questo semplice esempio dovrebbe rendere l idea di quello che idealmente bisognerebbe realizzare per ogni parametro. Ciò è per altro consigliabile non solo per prevenire possibili SQL injection ma anche altri tipi di attacchi o comunque spiacevoli bug ed errori imprevisti durante l utilizzo dell applicazione da parte degli utenti. Qualunque sia la tecnica preferita, l importante è implementare sempre almeno uno dei metodi di prevenzione qui descritti. Le SQL injection, come già detto, sono un tipo di attacco estremamente facile da eseguire per chiunque abbia un minimo di conoscenze su PHP e database ed i risultati di un simile attacco possono risultare gravi. CONCLUSIONI Abbiamo visto nei precedenti paragrafi, come un non corretto sviluppo applicativo, possa permettere potenzialmente ad un malintenzionato di effettuare un attacco al database tramite la immissione di caratteri anomali in una query al database. Allo stesso tempo, tale vulnerabilità può tra l altro facilmente essere ovviata adottando le seguenti precauzioni: - utilizzare dei valori predefiniti per sostituire gli input non congrui; - predisporre un messaggio di errore alla ricezione di query irregolari; - costruire un sistema di logging che registri tutti i tentativi di intrusione. Indipendentemente dal tipo di difesa che si decide di intraprendere, il fattore comune che ogni programmatore deve tener presente e che ogni input deve essere controllato prima di arrivare sul database. 11

SQL Injection: le tecniche, i tool ed esempi pratici OWASP. The OWASP Foundation

SQL Injection: le tecniche, i tool ed esempi pratici OWASP. The OWASP Foundation SQL Injection: le tecniche, i tool ed esempi pratici SMAU E- Academy 2006 Antonio Parata collaboratore -Italy http://www.ictsc.it antonio.parata@ictsc.it http://www.owasp.org/index.php/italy Copyright

Dettagli

DBMS (Data Base Management System)

DBMS (Data Base Management System) Cos'è un Database I database o banche dati o base dati sono collezioni di dati, tra loro correlati, utilizzati per rappresentare una porzione del mondo reale. Sono strutturati in modo tale da consentire

Dettagli

Un client su arduino invia i dati acquisiti ad un database

Un client su arduino invia i dati acquisiti ad un database Un client su arduino invia i dati acquisiti ad un database PROBLEMA Si vogliono inviare, periodicamente, i dati acquisiti da alcuni sensori ad un database presente su di un server. Arduino con shield Ethernet

Dettagli

PHP: form, cookies, sessioni e. Pasqualetti Veronica

PHP: form, cookies, sessioni e. Pasqualetti Veronica PHP: form, cookies, sessioni e mysql Pasqualetti Veronica Form HTML: sintassi dei form 2 Un form HTML è una finestra contenente vari elementi di controllo che consentono al visitatore di inserire informazioni.

Dettagli

Basi di Dati prof. Letizia Tanca lucidi ispirati al libro Atzeni-Ceri-Paraboschi-Torlone. SQL: il DDL

Basi di Dati prof. Letizia Tanca lucidi ispirati al libro Atzeni-Ceri-Paraboschi-Torlone. SQL: il DDL Basi di Dati prof. Letizia Tanca lucidi ispirati al libro Atzeni-Ceri-Paraboschi-Torlone SQL: il DDL Parti del linguaggio SQL Definizione di basi di dati (Data Definition Language DDL) Linguaggio per modificare

Dettagli

Cross Software ltd Malta Pro.Sy.T Srl. Il gestionale come l'avete sempre sognato... Pag. 1

Cross Software ltd Malta Pro.Sy.T Srl. Il gestionale come l'avete sempre sognato... Pag. 1 Il gestionale come l'avete sempre sognato... Pag. 1 Le funzionalità di X-Cross La sofisticata tecnologia di CrossModel, oltre a permettere di lavorare in Internet come nel proprio ufficio e ad avere una

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

Come difendersi dai VIRUS

Come difendersi dai VIRUS Come difendersi dai VIRUS DEFINIZIONE Un virus è un programma, cioè una serie di istruzioni, scritte in un linguaggio di programmazione, in passato era di solito di basso livello*, mentre con l'avvento

Dettagli

Import Dati Release 4.0

Import Dati Release 4.0 Piattaforma Applicativa Gestionale Import Dati Release 4.0 COPYRIGHT 2000-2005 by ZUCCHETTI S.p.A. Tutti i diritti sono riservati.questa pubblicazione contiene informazioni protette da copyright. Nessuna

Dettagli

APPLICAZIONE WEB PER LA GESTIONE DELLE RICHIESTE DI ACQUISTO DEL MATERIALE INFORMATICO. Francesco Marchione e Dario Richichi

APPLICAZIONE WEB PER LA GESTIONE DELLE RICHIESTE DI ACQUISTO DEL MATERIALE INFORMATICO. Francesco Marchione e Dario Richichi APPLICAZIONE WEB PER LA GESTIONE DELLE RICHIESTE DI ACQUISTO DEL MATERIALE INFORMATICO Francesco Marchione e Dario Richichi Istituto Nazionale di Geofisica e Vulcanologia Sezione di Palermo Indice Introduzione...

Dettagli

ORACLE BUSINESS INTELLIGENCE STANDARD EDITION ONE A WORLD CLASS PERFORMANCE

ORACLE BUSINESS INTELLIGENCE STANDARD EDITION ONE A WORLD CLASS PERFORMANCE ORACLE BUSINESS INTELLIGENCE STANDARD EDITION ONE A WORLD CLASS PERFORMANCE Oracle Business Intelligence Standard Edition One è una soluzione BI completa, integrata destinata alle piccole e medie imprese.oracle

Dettagli

Introduzione a MySQL

Introduzione a MySQL Introduzione a MySQL Cinzia Cappiello Alessandro Raffio Politecnico di Milano Prima di iniziare qualche dettaglio su MySQL MySQL è un sistema di gestione di basi di dati relazionali (RDBMS) composto da

Dettagli

CORSO DI ALGORITMI E PROGRAMMAZIONE. JDBC Java DataBase Connectivity

CORSO DI ALGORITMI E PROGRAMMAZIONE. JDBC Java DataBase Connectivity CORSO DI ALGORITMI E PROGRAMMAZIONE JDBC Java DataBase Connectivity Anno Accademico 2002-2003 Accesso remoto al DB Istruzioni SQL Rete DataBase Utente Host client Server di DataBase Host server Accesso

Dettagli

Introduzione ad Access

Introduzione ad Access Introduzione ad Access Luca Bortolussi Dipartimento di Matematica e Informatica Università degli studi di Trieste Access E un programma di gestione di database (DBMS) Access offre: un supporto transazionale

Dettagli

MANUALE GESTIONE DELLE UTENZE - PORTALE ARGO (VERS. 2.1.0)

MANUALE GESTIONE DELLE UTENZE - PORTALE ARGO (VERS. 2.1.0) Indice generale PREMESSA... 2 ACCESSO... 2 GESTIONE DELLE UTENZE... 3 DATI DELLA SCUOLA... 6 UTENTI...7 LISTA UTENTI... 8 CREA NUOVO UTENTE...8 ABILITAZIONI UTENTE...9 ORARI D'ACCESSO... 11 DETTAGLIO UTENTE...

Dettagli

Talento LAB 4.1 - UTILIZZARE FTP (FILE TRANSFER PROTOCOL) L'UTILIZZO DI ALTRI SERVIZI INTERNET. In questa lezione imparerete a:

Talento LAB 4.1 - UTILIZZARE FTP (FILE TRANSFER PROTOCOL) L'UTILIZZO DI ALTRI SERVIZI INTERNET. In questa lezione imparerete a: Lab 4.1 Utilizzare FTP (File Tranfer Protocol) LAB 4.1 - UTILIZZARE FTP (FILE TRANSFER PROTOCOL) In questa lezione imparerete a: Utilizzare altri servizi Internet, Collegarsi al servizio Telnet, Accedere

Dettagli

Le funzioni di shell La bash supporta la programmazione procedurale e prevede la possibilità di definire funzioni utilizzando le sintassi

Le funzioni di shell La bash supporta la programmazione procedurale e prevede la possibilità di definire funzioni utilizzando le sintassi Le funzioni di shell La bash supporta la programmazione procedurale e prevede la possibilità di definire funzioni utilizzando le sintassi alternative: function nome { lista-comandi } oppure nome ( ) {

Dettagli

Documentazione tecnica

Documentazione tecnica Documentazione tecnica Come spedire via Post 1.1) Invio di Loghi operatore 1.2) Invio delle Suonerie (ringtone) 1.3) Invio di SMS con testo in formato UNICODE UCS-2 1.4) Invio di SMS multipli 1.5) Simulazione

Dettagli

PROPOSTE SISTEMA DI CITIZEN RELATIONSHIP MANAGEMENT (CRM) REGIONALE

PROPOSTE SISTEMA DI CITIZEN RELATIONSHIP MANAGEMENT (CRM) REGIONALE PROPOSTE SISTEMA DI CITIZEN RELATIONSHIP MANAGEMENT (CRM) REGIONALE Versione 1.0 Via della Fisica 18/C Tel. 0971 476311 Fax 0971 476333 85100 POTENZA Via Castiglione,4 Tel. 051 7459619 Fax 051 7459619

Dettagli

Le funzionalità di un DBMS

Le funzionalità di un DBMS Le funzionalità di un DBMS Sistemi Informativi L-A Home Page del corso: http://www-db.deis.unibo.it/courses/sil-a/ Versione elettronica: DBMS.pdf Sistemi Informativi L-A DBMS: principali funzionalità Le

Dettagli

I FILTRI SED, GREP (e AWK) Tratto da http://www.pluto.it/files/ildp/guide/abs/textproc.html SED

I FILTRI SED, GREP (e AWK) Tratto da http://www.pluto.it/files/ildp/guide/abs/textproc.html SED I FILTRI SED, GREP (e AWK) Tratto da http://www.pluto.it/files/ildp/guide/abs/textproc.html SED SED è un programma in grado di eseguire delle trasformazioni elementari in un flusso di dati di ingresso,

Dettagli

Dal punto di vista organizzativo sono possibili due soluzioni per il sistema di rete.

Dal punto di vista organizzativo sono possibili due soluzioni per il sistema di rete. Premessa. La traccia di questo anno integra richieste che possono essere ricondotte a due tipi di prove, informatica sistemi, senza lasciare spazio ad opzioni facoltative. Alcuni quesiti vanno oltre le

Dettagli

1) Le Espressioni regolari

1) Le Espressioni regolari ESPRESSIONI REGOLARI e FILTRI SED, GREP e AWK 1) Le Espressioni regolari Un'espressione regolare è un modello che descrive un insieme di stringhe. Le espressioni regolari sono costruite, in maniera analoga

Dettagli

La gestione documentale con il programma Filenet ed il suo utilizzo tramite la tecnologia.net. di Emanuele Mattei (emanuele.mattei[at]email.

La gestione documentale con il programma Filenet ed il suo utilizzo tramite la tecnologia.net. di Emanuele Mattei (emanuele.mattei[at]email. La gestione documentale con il programma Filenet ed il suo utilizzo tramite la tecnologia.net di Emanuele Mattei (emanuele.mattei[at]email.it) Introduzione In questa serie di articoli, vedremo come utilizzare

Dettagli

Database, SQL & MySQL. Dott. Paolo PAVAN Maggio 2002

Database, SQL & MySQL. Dott. Paolo PAVAN Maggio 2002 Database, SQL & MySQL Dott. Paolo PAVAN Maggio 2002 1 Struttura RDBMS MYSQL - RDBMS DATABASE TABELLE 2 Introduzione ai DATABASE Database Indica in genere un insieme di dati rivolti alla rappresentazione

Dettagli

DIFENDERSI DAI MODERNI ATTACCHI DI PHISHING MIRATI

DIFENDERSI DAI MODERNI ATTACCHI DI PHISHING MIRATI DIFENDERSI DAI MODERNI ATTACCHI DI PHISHING MIRATI DIFENDERSI DAI MODERNI ATTACCHI DI PHISHING MIRATI 2 Introduzione Questa email è una truffa o è legittima? È ciò che si chiedono con sempre maggiore frequenza

Dettagli

Guida ai Servizi Internet per il Referente Aziendale

Guida ai Servizi Internet per il Referente Aziendale Guida ai Servizi Internet per il Referente Aziendale Indice Indice Introduzione...3 Guida al primo accesso...3 Accessi successivi...5 Amministrazione dei servizi avanzati (VAS)...6 Attivazione dei VAS...7

Dettagli

FileMaker Server 13. Pubblicazione Web personalizzata con PHP

FileMaker Server 13. Pubblicazione Web personalizzata con PHP FileMaker Server 13 Pubblicazione Web personalizzata con PHP 2007-2013 FileMaker, Inc. Tutti i diritti riservati. FileMaker, Inc. 5201 Patrick Henry Drive Santa Clara, California 95054 Stati Uniti FileMaker

Dettagli

Manuale di KDE su Geert Jansen Traduzione del documento: Dario Panico Traduzione del documento: Samuele Kaplun Traduzione del documento: Daniele Micci

Manuale di KDE su Geert Jansen Traduzione del documento: Dario Panico Traduzione del documento: Samuele Kaplun Traduzione del documento: Daniele Micci Geert Jansen Traduzione del documento: Dario Panico Traduzione del documento: Samuele Kaplun Traduzione del documento: Daniele Micci 2 Indice 1 Introduzione 5 2 Usare KDE su 6 3 Funzionamento interno 8

Dettagli

INVIO SMS CON CHIAMATA DIRETTA ALLO SCRIPT

INVIO SMS CON CHIAMATA DIRETTA ALLO SCRIPT INVIO SMS CON CHIAMATA DIRETTA ALLO SCRIPT La chiamata diretta allo script può essere effettuata in modo GET o POST. Il metodo POST è il più sicuro dal punto di vista della sicurezza. Invio sms a un numero

Dettagli

Gestione Nuova Casella email

Gestione Nuova Casella email Gestione Nuova Casella email Per accedere alla vecchia casella questo l indirizzo web: http://62.149.157.9/ Potrà essere utile accedere alla vecchia gestione per esportare la rubrica e reimportala come

Dettagli

Piattaforma Applicativa Gestionale. Import dati. Release 7.0

Piattaforma Applicativa Gestionale. Import dati. Release 7.0 Piattaforma Applicativa Gestionale Import dati Release 7.0 COPYRIGHT 2000-2012 by ZUCCHETTI S.p.A. Tutti i diritti sono riservati. Questa pubblicazione contiene informazioni protette da copyright. Nessuna

Dettagli

Gestore Comunicazioni Obbligatorie. Progetto SINTESI. Comunicazioni Obbligatorie. Modulo Applicativo COB. - Versione Giugno 2013 -

Gestore Comunicazioni Obbligatorie. Progetto SINTESI. Comunicazioni Obbligatorie. Modulo Applicativo COB. - Versione Giugno 2013 - Progetto SINTESI Comunicazioni Obbligatorie Modulo Applicativo COB - Versione Giugno 2013-1 Versione Giugno 2013 INDICE 1 Introduzione 3 1.1 Generalità 3 1.2 Descrizione e struttura del manuale 3 1.3 Requisiti

Dettagli

Guida alla scansione su FTP

Guida alla scansione su FTP Guida alla scansione su FTP Per ottenere informazioni di base sulla rete e sulle funzionalità di rete avanzate della macchina Brother, consultare la uu Guida dell'utente in rete. Per ottenere informazioni

Dettagli

Funzioni di base. Manualino OE6. Outlook Express 6

Funzioni di base. Manualino OE6. Outlook Express 6 Manualino OE6 Microsoft Outlook Express 6 Outlook Express 6 è un programma, incluso nel browser di Microsoft Internet Explorer, che ci permette di inviare e ricevere messaggi di posta elettronica. È gratuito,

Dettagli

Manuale Utente. S e m p l i c e m e n t e D a t i M i g l i o r i!

Manuale Utente. S e m p l i c e m e n t e D a t i M i g l i o r i! Manuale Utente S e m p l i c e m e n t e D a t i M i g l i o r i! INDICE INDICE... 3 INTRODUZIONE... 3 Riguardo questo manuale...3 Informazioni su VOLT 3 Destinatari 3 Software Richiesto 3 Novità su Volt...3

Dettagli

I.Stat Guida utente Versione 1.7 Dicembre 2010

I.Stat Guida utente Versione 1.7 Dicembre 2010 I.Stat Guida utente Versione 1.7 Dicembre 2010 1 Sommario INTRODUZIONE 3 I concetti principali di I.Stat 4 Organizzazione dei dati 4 Ricerca 5 GUIDA UTENTE 6 Per iniziare 6 Selezione della lingua 7 Individuazione

Dettagli

Manuale d uso Apache OpenMeetings (Manuale Utente + Manuale Amministratore)

Manuale d uso Apache OpenMeetings (Manuale Utente + Manuale Amministratore) Manuale d uso Apache OpenMeetings (Manuale Utente + Manuale Amministratore) Autore: Matteo Veroni Email: matver87@gmail.com Sito web: matteoveroni@altervista.org Fonti consultate: http://openmeetings.apache.org/

Dettagli

NAVIGAORA HOTSPOT. Manuale utente per la configurazione

NAVIGAORA HOTSPOT. Manuale utente per la configurazione NAVIGAORA HOTSPOT Manuale utente per la configurazione NAVIGAORA Hotspot è l innovativo servizio che offre ai suoi clienti accesso ad Internet gratuito, in modo semplice e veloce, grazie al collegamento

Dettagli

SISSI IN RETE. Quick Reference guide guida di riferimento rapido

SISSI IN RETE. Quick Reference guide guida di riferimento rapido SISSI IN RETE Quick Reference guide guida di riferimento rapido Indice generale Sissi in rete...3 Introduzione...3 Architettura Software...3 Installazione di SISSI in rete...3 Utilizzo di SISSI in Rete...4

Dettagli

sed: editor non interattivo di file di testo (1974 nei Bell Labs come evoluzione di grep, Lee E. McMahon)

sed: editor non interattivo di file di testo (1974 nei Bell Labs come evoluzione di grep, Lee E. McMahon) Sed & Awk Sed e Awk sed: editor non interattivo di file di testo (1974 nei Bell Labs come evoluzione di grep, Lee E. McMahon) awk: linguaggio per l'elaborazione di modelli orientato ai campi (1977, Bell

Dettagli

Configurazione Zimbra mail per accedere alla propria casella di posta tramite il browser.

Configurazione Zimbra mail per accedere alla propria casella di posta tramite il browser. Configurazione Zimbra mail per accedere alla propria casella di posta tramite il browser. Se vogliamo accedere alla nostra casella di posta elettronica unipg.it senza usare un client di posta (eudora,

Dettagli

Manipolazione di testi: espressioni regolari

Manipolazione di testi: espressioni regolari Manipolazione di testi: espressioni regolari Un meccanismo per specificare un pattern, che, di fatto, è la rappresentazione sintetica di un insieme (eventualmente infinito) di stringhe: il pattern viene

Dettagli

iphone in azienda Guida alla configurazione per gli utenti

iphone in azienda Guida alla configurazione per gli utenti iphone in azienda Guida alla configurazione per gli utenti iphone è pronto per le aziende. Supporta Microsoft Exchange ActiveSync, così come servizi basati su standard, invio e ricezione di e-mail, calendari

Dettagli

GESTIONE DELLA E-MAIL

GESTIONE DELLA E-MAIL GESTIONE DELLA E-MAIL Esistono due metodologie, completamente diverse tra loro, in grado di consentire la gestione di più caselle di Posta Elettronica: 1. tramite un'interfaccia Web Mail; 2. tramite alcuni

Dettagli

Lezione III: Oggetti ASP e interazione tramite form HTML

Lezione III: Oggetti ASP e interazione tramite form HTML Lezione III: Oggetti ASP e interazione tramite form HTML La terza lezione, come le precedenti, ha avuto una durata di due ore, di cui una in aula e l altra in laboratorio, si è tenuta alla presenza della

Dettagli

MANUALE D USO G.ALI.LE.O GALILEO. Manuale d uso. Versione 1.1.0. [OFR] - Progetto GALILEO - Manuale d uso

MANUALE D USO G.ALI.LE.O GALILEO. Manuale d uso. Versione 1.1.0. [OFR] - Progetto GALILEO - Manuale d uso [OFR] - - G.ALI.LE.O Versione 1.1.0 MANUALE D USO pag. 1 di 85 [OFR] - - pag. 2 di 85 [OFR] - - Sommario 1 - Introduzione... 6 2 - Gestione ALbI digitale Ordini (G.ALI.LE.O.)... 7 2.1 - Schema di principio...

Dettagli

RefWorks Guida all utente Versione 4.0

RefWorks Guida all utente Versione 4.0 Accesso a RefWorks per utenti registrati RefWorks Guida all utente Versione 4.0 Dalla pagina web www.refworks.com/refworks Inserire il proprio username (indirizzo e-mail) e password NB: Agli utenti remoti

Dettagli

FileMaker Server 13. Guida introduttiva

FileMaker Server 13. Guida introduttiva FileMaker Server 13 Guida introduttiva 2007-2013 FileMaker, Inc. Tutti i diritti riservati. FileMaker, Inc. 5201 Patrick Henry Drive Santa Clara, California 95054 Stati Uniti FileMaker e Bento sono marchi

Dettagli

SMS API. Documentazione Tecnica YouSMS SOAP API. YouSMS Evet Limited 2015 http://www.yousms.it

SMS API. Documentazione Tecnica YouSMS SOAP API. YouSMS Evet Limited 2015 http://www.yousms.it SMS API Documentazione Tecnica YouSMS SOAP API YouSMS Evet Limited 2015 http://www.yousms.it INDICE DEI CONTENUTI Introduzione... 2 Autenticazione & Sicurezza... 2 Username e Password... 2 Connessione

Dettagli

Laboratorio di Sistemi Fattoriale di un numero Jsp [Java]

Laboratorio di Sistemi Fattoriale di un numero Jsp [Java] Desideriamo realizzare una applicazione web che ci consenta di calcolare il fattoriale di un numero. L'esercizio in sé non particolarmente difficile, tuttavia esso ci consentirà di affrontare il problema

Dettagli

Comandi filtro: sed. Se non si specificano azioni, sed stampa sullo standard output le linee in input, lasciandole inalterate.

Comandi filtro: sed. Se non si specificano azioni, sed stampa sullo standard output le linee in input, lasciandole inalterate. Comandi filtro: sed Il nome del comando sed sta per Stream EDitor e la sua funzione è quella di permettere di editare il testo passato da un comando ad un altro in una pipeline. Ciò è molto utile perché

Dettagli

Posta Elettronica Certificata

Posta Elettronica Certificata Posta Elettronica Certificata Manuale di utilizzo del servizio Webmail di Telecom Italia Trust Technologies Documento ad uso pubblico Pag. 1 di 33 Indice degli argomenti 1 INTRODUZIONE... 3 1.1 Obiettivi...

Dettagli

GeoGebra 4.2 Introduzione all utilizzo della Vista CAS per il secondo biennio e il quinto anno

GeoGebra 4.2 Introduzione all utilizzo della Vista CAS per il secondo biennio e il quinto anno GeoGebra 4.2 Introduzione all utilizzo della Vista CAS per il secondo biennio e il quinto anno La Vista CAS L ambiente di lavoro Le celle Assegnazione di una variabile o di una funzione / visualizzazione

Dettagli

SIASFi: il sistema ed il suo sviluppo

SIASFi: il sistema ed il suo sviluppo SIASFI: IL SISTEMA ED IL SUO SVILUPPO 187 SIASFi: il sistema ed il suo sviluppo Antonio Ronca Il progetto SIASFi nasce dall esperienza maturata da parte dell Archivio di Stato di Firenze nella gestione

Dettagli

INFORMATIVA SUI COOKIE

INFORMATIVA SUI COOKIE INFORMATIVA SUI COOKIE I Cookie sono costituiti da porzioni di codice installate all'interno del browser che assistono il Titolare nell erogazione del servizio in base alle finalità descritte. Alcune delle

Dettagli

Corso SOL Gestione catalogo libro moderno 21-22 settembre 2009

Corso SOL Gestione catalogo libro moderno 21-22 settembre 2009 Corso SOL Gestione catalogo libro moderno 21-22 settembre 2009 Introduzione generale Autenticazione dell operatore https://sebina1.unife.it/sebinatest Al primo accesso ai servizi di Back Office, utilizzando

Dettagli

Installazione ed attivazione della "SUITE OFFIS" versione SERVER

Installazione ed attivazione della SUITE OFFIS versione SERVER Installazione ed attivazione della "SUITE OFFIS" versione SERVER Premessa La versione server di OFFIS può essere installata e utilizzata indifferentemente da PC/Win o Mac/Osx e consente l'accesso contemporaneo

Dettagli

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

Dettagli

SOGEAS - Manuale operatore

SOGEAS - Manuale operatore SOGEAS - Manuale operatore Accesso La home page del programma si trova all indirizzo: http://www.sogeas.net Per accedere, l operatore dovrà cliccare sulla voce Accedi in alto a destra ed apparirà la seguente

Dettagli

Disabilitare lo User Account Control

Disabilitare lo User Account Control Disabilitare lo User Account Control Come ottenere i privilegi di sistema su Windows 7 1s 2s 1. Cenni Generali Disabilitare il Controllo Account Utente (UAC) Win 7 1.1 Dove può essere applicato questo

Dettagli

Estensione di un servizo di messaggistica per telefonia mobile (per una società di agenti TuCSoN)

Estensione di un servizo di messaggistica per telefonia mobile (per una società di agenti TuCSoN) Estensione di un servizo di messaggistica per telefonia mobile (per una società di agenti TuCSoN) System Overview di Mattia Bargellini 1 CAPITOLO 1 1.1 Introduzione Il seguente progetto intende estendere

Dettagli

Installazione di GFI Network Server Monitor

Installazione di GFI Network Server Monitor Installazione di GFI Network Server Monitor Requisiti di sistema I computer che eseguono GFI Network Server Monitor richiedono: i sistemi operativi Windows 2000 (SP4 o superiore), 2003 o XP Pro Windows

Dettagli

DNS cache poisoning e Bind

DNS cache poisoning e Bind ICT Security n. 19, Gennaio 2004 p. 1 di 5 DNS cache poisoning e Bind Il Domain Name System è fondamentale per l'accesso a internet in quanto risolve i nomi degli host nei corrispondenti numeri IP. Se

Dettagli

Database Manager Guida utente DMAN-IT-01/09/10

Database Manager Guida utente DMAN-IT-01/09/10 Database Manager Guida utente DMAN-IT-01/09/10 Le informazioni contenute in questo manuale di documentazione non sono contrattuali e possono essere modificate senza preavviso. La fornitura del software

Dettagli

Lezione 15 File System

Lezione 15 File System Lezione 15 File System Sistemi Operativi (9 CFU), CdL Informatica, A. A. 2014/2015 Dipartimento di Scienze Fisiche, Informatiche e Matematiche Università di Modena e Reggio Emilia http://weblab.ing.unimo.it/people/andreolini/didattica/sistemi-operativi

Dettagli

Dispense di Informatica Anno Scolastico 2008/2009 Classe 3APS. Dal Problema all'algoritmo

Dispense di Informatica Anno Scolastico 2008/2009 Classe 3APS. Dal Problema all'algoritmo stituto Tecnico Statale Commerciale Dante Alighieri Cerignola (FG) Dispense di nformatica Anno Scolastico 2008/2009 Classe 3APS Dal Problema all'algoritmo Pr.: 001 Ver.:1.0 Autore: prof. Michele Salvemini

Dettagli

Data warehouse.stat Guida utente

Data warehouse.stat Guida utente Data warehouse.stat Guida utente Versione 3.0 Giugno 2013 1 Sommario INTRODUZIONE 3 I concetti principali 4 Organizzazione dei dati 4 Ricerca 5 Il browser 5 GUIDA UTENTE 6 Per iniziare 6 Selezione della

Dettagli

Arcserve Replication and High Availability

Arcserve Replication and High Availability Arcserve Replication and High Availability Guida operativa per Oracle Server per Windows r16.5 La presente documentazione, che include il sistema di guida in linea integrato e materiale distribuibile elettronicamente

Dettagli

12.5 UDP (User Datagram Protocol)

12.5 UDP (User Datagram Protocol) CAPITOLO 12. SUITE DI PROTOCOLLI TCP/IP 88 12.5 UDP (User Datagram Protocol) L UDP (User Datagram Protocol) é uno dei due protocolli del livello di trasporto. Come l IP, é un protocollo inaffidabile, che

Dettagli

SOFTWARE GESTIONE SMS DA INTERFACCE CL MANUALE D INSTALLAZIONE ED USO

SOFTWARE GESTIONE SMS DA INTERFACCE CL MANUALE D INSTALLAZIONE ED USO CLSMS SOFTWARE GESTIONE SMS DA INTERFACCE CL MANUALE D INSTALLAZIONE ED USO Sommario e introduzione CLSMS SOMMARIO INSTALLAZIONE E CONFIGURAZIONE... 3 Parametri di configurazione... 4 Attivazione Software...

Dettagli

FIRESHOP.NET. Gestione Utility & Configurazioni. Rev. 2014.3.1 www.firesoft.it

FIRESHOP.NET. Gestione Utility & Configurazioni. Rev. 2014.3.1 www.firesoft.it FIRESHOP.NET Gestione Utility & Configurazioni Rev. 2014.3.1 www.firesoft.it Sommario SOMMARIO Introduzione... 4 Impostare i dati della propria azienda... 5 Aggiornare il programma... 6 Controllare l integrità

Dettagli

Le Reti Informatiche

Le Reti Informatiche Le Reti Informatiche modulo 10 Prof. Salvatore Rosta www.byteman.it s.rosta@byteman.it 1 Nomenclatura: 1 La rappresentazione di uno schema richiede una serie di abbreviazioni per i vari componenti. Seguiremo

Dettagli

Portale Unico dei Servizi NoiPA

Portale Unico dei Servizi NoiPA Portale Unico dei Servizi NoiPA Guida all accesso al portale e ai servizi self service Versione del 10/12/14 INDICE pag. 1 INTRODUZIONE... 3 2 MODALITÀ DI PRIMO ACCESSO... 3 2.1 LA CONVALIDA DELL INDIRIZZO

Dettagli

AlboTop. Software di gestione Albo per Ordini Assistenti Sociali

AlboTop. Software di gestione Albo per Ordini Assistenti Sociali AlboTop Software di gestione Albo per Ordini Assistenti Sociali Introduzione AlboTop è il nuovo software della ISI Sviluppo Informatico per la gestione dell Albo professionale dell Ordine Assistenti Sociali.

Dettagli

GUIDA DELL UTENTE IN RETE

GUIDA DELL UTENTE IN RETE GUIDA DELL UTENTE IN RETE Memorizza registro di stampa in rete Versione 0 ITA Definizione delle note Nella presente Guida dell'utente viene utilizzata la seguente icona: Le note spiegano come intervenire

Dettagli

Mobile Messaging SMS. Copyright 2015 VOLA S.p.A.

Mobile Messaging SMS. Copyright 2015 VOLA S.p.A. Mobile Messaging SMS Copyright 2015 VOLA S.p.A. INDICE Mobile Messaging SMS. 2 SMS e sistemi aziendali.. 2 Creare campagne di mobile marketing con i servizi Vola SMS.. 3 VOLASMS per inviare SMS da web..

Dettagli

Ambienti di sviluppo integrato

Ambienti di sviluppo integrato Ambienti di sviluppo integrato Un ambiente di sviluppo integrato (IDE - Integrated Development Environment) è un ambiente software che assiste i programmatori nello sviluppo di programmi Esso è normalmente

Dettagli

ACCESSO AL PORTALE INTERNET GSE

ACCESSO AL PORTALE INTERNET GSE ACCESSO AL PORTALE INTERNET GSE Guida d uso per la registrazione e l accesso Ver 3.0 del 22/11/2013 Pag. 1 di 16 Sommario 1. Registrazione sul portale GSE... 3 2. Accesso al Portale... 8 2.1 Accesso alle

Dettagli

La procedura di registrazione prevede cinque fasi: Fase 4 Conferma

La procedura di registrazione prevede cinque fasi: Fase 4 Conferma Guida Categoria alla registrazione StockPlan Connect Il sito web StockPlan Connect di Morgan Stanley consente di accedere e di gestire online i piani di investimento azionario. Questa guida offre istruzioni

Dettagli

Client di Posta Elettronica PECMailer

Client di Posta Elettronica PECMailer Client di Posta Elettronica PECMailer PECMailer è un semplice ma completo client di posta elettronica, ovvero un programma che consente di gestire la composizione, la trasmissione, la ricezione e l'organizzazione

Dettagli

TeamPortal. Servizi integrati con ambienti Gestionali

TeamPortal. Servizi integrati con ambienti Gestionali TeamPortal Servizi integrati con ambienti Gestionali 12/2013 Modulo di Amministrazione Il modulo include tutte le principali funzioni di amministrazione e consente di gestire aspetti di configurazione

Dettagli

Servizi DNS - SMTP FTP - TELNET. Programmi. Outlook Express Internet Explorer

Servizi DNS - SMTP FTP - TELNET. Programmi. Outlook Express Internet Explorer Servizi DNS - SMTP FTP - TELNET Programmi Outlook Express Internet Explorer 72 DNS Poiché riferirsi a una risorsa (sia essa un host oppure l'indirizzo di posta elettronica di un utente) utilizzando un

Dettagli

Guida del client per Symantec Endpoint Protection e Symantec Network Access Control

Guida del client per Symantec Endpoint Protection e Symantec Network Access Control Guida del client per Symantec Endpoint Protection e Symantec Network Access Control Guida del client per Symantec Endpoint Protection e Symantec Network Access Control Il software descritto nel presente

Dettagli

Plesk Automation. Parallels. Domande tecniche più frequenti

Plesk Automation. Parallels. Domande tecniche più frequenti Parallels Plesk Automation Primo trimestre, 2013 Domande tecniche più frequenti Questo documento ha come scopo quello di rispondere alle domande tecniche che possono sorgere quando si installa e si utilizza

Dettagli

Altre opzioni Optralmage

Altre opzioni Optralmage di Personalizzazione delle impostazioni............ 2 Impostazione manuale delle informazioni sul fax......... 5 Creazione di destinazioni fax permanenti................ 7 Modifica delle impostazioni di

Dettagli

C O M E I N I Z I A R E A U S A R E U N T A B L E T A N D R O I D

C O M E I N I Z I A R E A U S A R E U N T A B L E T A N D R O I D C O M E I N I Z I A R E A U S A R E U N T A B L E T A N D R O I D Se avete un tablet android, ma non avete la minima idea di come accenderlo, usarlo e avviarlo, seguite queste nostre indicazioni 1. ATTIVAZIONE

Dettagli

Trattamento aria Regolatore di pressione proporzionale. Serie 1700

Trattamento aria Regolatore di pressione proporzionale. Serie 1700 Trattamento aria Serie 7 Serie 7 Trattamento aria Trattamento aria Serie 7 Serie 7 Trattamento aria +24VDC VDC OUTPUT MICROPROCESS. E P IN EXH OUT Trattamento aria Serie 7 Serie 7 Trattamento aria 7 Trattamento

Dettagli

IBM Cognos 8 BI Midmarket Reporting Packages Per soddisfare tutte le vostre esigenze di reporting restando nel budget

IBM Cognos 8 BI Midmarket Reporting Packages Per soddisfare tutte le vostre esigenze di reporting restando nel budget Data Sheet IBM Cognos 8 BI Midmarket Reporting Packages Per soddisfare tutte le vostre esigenze di reporting restando nel budget Panoramica Le medie aziende devono migliorare nettamente le loro capacità

Dettagli

I FORM. L'attributo action contiene l'url del file php a cui devono essere inviati i file per essere elaborati.

I FORM. L'attributo action contiene l'url del file php a cui devono essere inviati i file per essere elaborati. I FORM Che cosa sono e che caratteristiche hanno Un form contiene molti oggetti che permettono di inserire dati usando la tastiera. Tali dati verranno poi inviati alla pagina php che avrà il compito di

Dettagli

Istruzioni per l uso Guida software

Istruzioni per l uso Guida software Istruzioni per l uso Guida software Leggere subito Manuali per questa stampante...8 Preparazione per la stampa Installazione rapida...9 Conferma del metodo di connessione...11 Connessione di rete...11

Dettagli

Guida ai Servizi Voce per l Utente. Guida ai ai Servizi Voce per l Utente

Guida ai Servizi Voce per l Utente. Guida ai ai Servizi Voce per l Utente Guida ai Servizi Voce per l Utente Guida ai ai Servizi Voce per l Utente 1 Indice Introduzione... 3 1 Servizi Voce Base... 4 1.1 Gestione delle chiamate... 4 1.2 Gestione del Numero Fisso sul cellulare...

Dettagli

Progetto Istanze On Line

Progetto Istanze On Line 2011 Progetto Istanze On Line 21 febbraio 2011 INDICE 1 INTRODUZIONE ALL USO DELLA GUIDA... 3 1.1 SIMBOLI USATI E DESCRIZIONI... 3 2 PROGETTO ISTANZE ON LINE... 4 2.1 COS È E A CHI È RIVOLTO... 4 2.2 NORMATIVA

Dettagli

Mail da Web. Caratteristiche generali di Virgilio Mail. Funzionalità di Virgilio Mail. Leggere la posta. Come scrivere un email.

Mail da Web. Caratteristiche generali di Virgilio Mail. Funzionalità di Virgilio Mail. Leggere la posta. Come scrivere un email. Mail da Web Caratteristiche generali di Virgilio Mail Funzionalità di Virgilio Mail Leggere la posta Come scrivere un email Giga Allegati Contatti Opzioni Caratteristiche generali di Virgilio Mail Virgilio

Dettagli

AUL22: FactoryTalk View SE Scoprite i vantaggi chiave di una soluzione SCADA integrata

AUL22: FactoryTalk View SE Scoprite i vantaggi chiave di una soluzione SCADA integrata AUL22: FactoryTalk View SE Scoprite i vantaggi chiave di una soluzione SCADA integrata Giampiero Carboni Davide Travaglia David Board Rev 5058-CO900C Interfaccia operatore a livello di sito FactoryTalk

Dettagli

GUIDA RAPIDA emagister-agora Edizione BASIC

GUIDA RAPIDA emagister-agora Edizione BASIC GUIDA RAPIDA emagister-agora Edizione BASIC Introduzione a emagister-agora Interfaccia di emagister-agora Configurazione dell offerta didattica Richieste d informazioni Gestione delle richieste d informazioni

Dettagli

Dipartimento di Sistemi e Informatica Università degli Studi di Firenze. Dev-C++ Ing. Michele Banci 27/03/2007 1

Dipartimento di Sistemi e Informatica Università degli Studi di Firenze. Dev-C++ Ing. Michele Banci 27/03/2007 1 Dipartimento di Sistemi e Informatica Università degli Studi di Firenze Dev-C++ Ing. Michele Banci 27/03/2007 1 Utilizzare Dev-C++ Tutti i programmi che seranno realizzati richiedono progetti separati

Dettagli

G e s t i o n e U t e n z e C N R

G e s t i o n e U t e n z e C N R u t e n t i. c n r. i t G e s t i o n e U t e n z e C N R G U I D A U T E N T E Versione 1.1 Aurelio D Amico (Marzo 2013) Consiglio Nazionale delle Ricerche - Sistemi informativi - Roma utenti.cnr.it -

Dettagli

BIBLIOWIN 5.0WEB Versione 5.0.2

BIBLIOWIN 5.0WEB Versione 5.0.2 BIBLIOWIN 5.0WEB Versione 5.0.2 Premessa. In questa nuova versione è stata modificata la risoluzione (dimensione) generale delle finestre. Per gli utenti che navigano nella modalità a Finestre, la dimensione

Dettagli