Estratto del documento

Università degli studi di Udine

Corso di Laurea in Scienze e Tecnologie Multimediali

Web security: analisi di un CMS basato su WordPress

A me, perché questo modesto lavoro non sia solo la conclusione di un percorso ma un nuovo punto di partenza.

Indice

Introduzione...............................................................................................................................1

1. Lo stato dell’arte.................................................................................................................4

1.1 Storia di WordPress........................................................................................................................4

1.2 Vulnerabilità del core.....................................................................................................................4

1.3 Vulnerabilità Componenti aggiuntivi plugin e temi......................................................................4

1.4 Panoramica di altre comuni vulnerabilità......................................................................................5

1.4.1. Esempio di vulnerabilità XSS già nota: attacco a paypal 2006.............................................7

1.5 Cenni su Common Vulnerabilities and Exposures........................................................................9

1.6 Dati forniti da WPScan e Wordfence..........................................................................................10

1.7 Web Application Firewall...........................................................................................................12

1.8 Strumenti per scansione delle vulnerabilità.................................................................................12

1.9 Problemi aperti...........................................................................................................................15

2. La sicurezza delle informazioni.........................................................................................18

2.1 La triade CIA..............................................................................................................................18

2.2 Il GDPR.....................................................................................................................................19

2.2.1 La gestione dei registri delle attività di trattamento.............................................................23

2.2.2 Quando e come eseguire una DPIA.....................................................................................23

2.2.3 Definizione di Data Breach..................................................................................................23

2.2.4 Il ripristino in caso di incidente (operazioni di backup).......................................................24

2.3 Cookie law..................................................................................................................................24

3. La sicurezza delle applicazioni Web...................................................................................27

3.1 Il progetto OWASP......................................................................................................................27

3.2 Creazione dell’ambiente di laboratorio........................................................................................30

3.3 Teoria di alcune vulnerabilità.......................................................................................................33

3.3.1 SQL Injection (SQLi)...........................................................................................................33

3.3.2 Cross-Site Scripting (XSS)..................................................................................................39

3.3.3 Cross Site Request Forgery (CSRF).....................................................................................42

4. La sicurezza di WordPress..................................................................................................44

4.1 Incidenza delle tipologie di vulnerabilità in WordPress..............................................................44

4.2 Analisi di sicurezza di un sito in WordPress................................................................................45

4.3 SQLi in un plugin che porta a Data Exfiltration......................................................................46

4.4 Credenziali Amministratore e Brute-force attack....................................................................50

4.5 XSS in WordPress...................................................................................................................55

4.6 Caso di studio.............................................................................................................................59

4.7 Messa in sicurezza di un host WordPress....................................................................................62

4.8 Considerazioni e discussione sui risultati ottenuti.......................................................................66

5 Conclusioni...........................................................................................................................68

Indice delle figure...............................................................................................................................70

Indice delle Tabelle...........................................................................................................................70

Bibliografia..............................................................................................................................70

Sitografia..................................................................................................................................72

Indice

Introduzione..............................................................................................................................1

1. Lo stato dell’arte....................................................................................................................5

1.1 Storia di WordPress.................................................................................................................5

1.2 Vulnerabilità del core..............................................................................................................5

1.3 Vulnerabilità Componenti aggiuntivi plugin e temi......................................................................5

1.4 Panoramica di altre comuni vulnerabilità.....................................................................................6

1.4.1. Esempio di vulnerabilità XSS già nota: attacco a paypal 2006.............................................8

1.5 Cenni su Common Vulnerabilities and Exposures........................................................................9

1.6 Dati forniti da WPScan e Wordfence..........................................................................................11

1.7 Web Application Firewall...........................................................................................................12

1.8 Strumenti per scansione delle vulnerabilità................................................................................13

1.9 Problemi aperti...........................................................................................................................16

2. La sicurezza delle informazioni.........................................................................................19

2.1 La triade CIA..............................................................................................................................19

2.2 Il GDPR.....................................................................................................................................20

2.2.1 La gestione dei registri delle attività di trattamento.............................................................23

2.2.2 Quando e come eseguire una DPIA.....................................................................................24

2.2.3 Definizione di Data Breach..................................................................................................24

2.2.4 Il ripristino in caso di incidente (operazioni di backup).......................................................25

2.3 Cookie law..................................................................................................................................25

3. La sicurezza delle applicazioni Web...................................................................................28

3.1 Il progetto OWASP...............................................................................................................28

3.2 Creazione dell’ambiente di laboratorio........................................................................................31

3.3 Teoria di alcune vulnerabilità......................................................................................................34

3.3.1 SQL Injection (SQLi)..........................................................................................................34

3.3.2 Cross-Site Scripting (XSS)..................................................................................................40

3.3.3 Cross Site Request Forgery (CSRF)....................................................................................43

4. La sicurezza di WordPress..................................................................................................45

4.1 Incidenza delle tipologie di vulnerabilità in WordPress..............................................................45

4.2 Analisi di sicurezza di un sito in WordPress................................................................................46

4.3 SQLi in un plugin che porta a Data Exfiltration.....................................................................47

4.4 Credenziali Amministratore e Brute-force attack....................................................................51

4.5 XSS in WordPress...................................................................................................................56

4.6 Caso di studio.............................................................................................................................60

4.7 Messa in sicurezza di un host WordPress....................................................................................62

4.8 Considerazioni e discussione sui risultati ottenuti......................................................................66

5 Conclusioni...........................................................................................................................68

Indice delle figure...........................................................................................................................70

Indice delle Tabelle.........................................................................................................................71

Bibliografia..............................................................................................................................72

Sitografia..................................................................................................................................73

Abstract

WordPress is a very common choice when it comes to Content Management System (CMS) platforms to create websites, that is mostly because it does not require any technical skill and because of how simple it is to create with it, even for beginners. Unlike often thought, many e-commerce, websites, blog and other platforms use this CMS all over the world, even when they have to manage sensitive information such as user data. It is thought that, due to the open source code, WordPress is widely studied and therefore very often targeted by hackers. This is not always the case, as it depends on the context and culture in terms of security. A poor management can lead to disastrous consequences if common best practices to keep the website safe are not implemented or properly applied. In addition to that, a good risk analysis for the detection and correction of vulnerabilities before the website goes online, will help companies to avoid the costs of restoring the website after a hack or sanctions for breaches they should pay in case of accidental data disclosure.

The sources initially used for this thesis are data from consulted reports about the most frequent recent attacks made available by some leaders in cybersecurity. Regarding the security tools and their practical implementation and in order to make this work replicable own websites and free and open-source tools have been used.

Aim of the present work is to raise awareness among the users, as well as anyone who wants to manage a portal based on this CMS, of its proper maintenance, because some of the potential problems can be surely avoided or at least the possibility that they occur can be reduced.

In the first place, some of the most common threats affecting major web applications will be addressed from a theoretical perspective, together with how they are used by attackers. Subsequently, practically showing some of the various attack techniques described in the theoretical section of a WordPress website, how is it possible to hack a vulnerable website when there is no implementation of security measures will be shown. The results collected will be used in the final part, showing how a WordPress GDPR compliant host was secured by the authors of this work to minimise the possibility of data exposure in a real context.

Introduzione

Generalmente quando un’azienda o un privato si trova a dover sviluppare una soluzione web e si interfaccia con un eventuale fornitore, ha due strade da valutare o farsi sviluppare una soluzione su misura “ex novo”, o scegliere una soluzione che permette di agevolare il lavoro come un CMS (Content Management System) con qualche un particolare effetto grafico. I Web Content Management Systems occupano sempre più spazio nell’evoluzione di Internet, essi hanno come vantaggio una maggiore semplicità di utilizzo un’interfaccia WYSIWYG, ovvero quello che vedi sullo schermo sarà presentato ai visitatori del sito. Per contro essendo sviluppati in maniera più orientata al web hanno una maggiore indicizzazione, ma una minore sicurezza.

Nonostante una nuova visione delle tecnologie per la costruzione dei siti web abbia compiuto notevoli passi avanti, purtroppo in materia di sicurezza, le dovute misure di prevenzione non sono mai sufficienti. Gli eventi sfavorevoli sono dovuti sia dai pochi investimenti che aziende ed enti interessati dovrebbero fare ma anche per tecnologie poco adeguate, mancanti o da una scarsa formazione del personale.

Studiare in modo dettagliato i protocolli e i paradigmi di funzionamento dei sistemi web a partire dalle semplici pagine scritte in HTML per finire con i siti web progettati in linguaggi più articolati come il PHP, JavaScript o AJAX è un requisito indispensabile per avere coscienza delle vulnerabilità dei propri sistemi e dei rischi connessi in caso di disastri.

La progettazione, l’ingegnerizzazione e la comprensione dei punti deboli fin dalle prime fasi di sviluppo di un’applicazione, permetterebbe di adottare configurazioni appropriate e le migliori best practices in materia di sicurezza applicativa allo scopo di prevenirne la compromissione.

Il Web 3.0 ha l’uso massiccio di queste tecnologie in ambito commerciale B2B, o B2C ha permesso che una mole di dati anche privati si propaghino sul web che molto spesso diventano bersaglio dei malintenzionati. Purtroppo non tutti i proprietari di un sito hanno conoscenze di programmazione, e il problema si fa importante.

Le vulnerabilità di sicurezza, i bug e i difetti rappresentano il punto debole di qualsiasi sistema e dovrebbero essere analizzati tempestivamente per evitare un attacco. Le conseguenze abituali di attacco sono: distruzione di dati riservati, modifica dei dati, uso improprio di un server Web per attività illegali hanno delle ricadute anche sul piano giuridico. 1

Definizione del problema

In questo lavoro ci proponiamo di descrivere le fasi di un attacco dalla scoperta, allo sfruttamento. Eseguiremo un’analisi di sicurezza di base di un noto CMS WordPress, la scelta è dovuta meramente per la sua maggiore diffusione [ CITATION htt \l 1040 ].

Adotteremo delle soluzioni attualmente esistenti come il test dei sistemi meglio noto come Penetration Test e il Vulnerability Assessment [ CITATION Oma \l 1040 ] che andrebbero condotti periodicamente in un’azienda allo scopo di identificare le vulnerabilità critiche dei sistemi e preservare così la continuità di servizio.

Lo scopo di questa attività è quello di delineare lo stato attuale dell’applicazione principali vulnerabilità, determinare l’impatto di una violazione in termini di riservatezza, integrità dei sistemi e dei dati aziendali e di fornire raccomandazioni sulla mitigazione del rischio per le vulnerabilità scoperte.

Per questo scopo ci proponiamo di condurre un’analisi di base per un sito web le tecniche utilizzate sono facilmente replicabili in altre realtà relative ad applicazioni similari e compatibili. La diffusione dei risultati ha come scopo l’intenzione di sensibilizzare altri interessati in merito ai vantaggi derivanti da questo tipo di metodologia utilizzata.

La tesi si presenta con la seguente struttura:

Capitolo 1 – Stato dell’arte

In questo capitolo parleremo, a grandi linee, di cos’è WordPress dei problemi relativi alla sicurezza di questo CMS, fino allo stato attuale.

Capitolo 2 – Il quadro normativo

In questo capitolo verrà presentato il quadro normativo di riferimento italiano, il General Data Protection Regulation (GDPR), il ruolo chiave della sicurezza informatica nel trattamento dei dati personali, il ripristino di questi ultimi in caso vengano accertate violazioni come nel contesto di un Data Breach.

1 Qualsivoglia violazione dei dati personali.

Capitolo 3 – OWASP e teoria attacchi

Introdurremo poi il progetto Open Web Application Security Project (OWASP), gli attacchi più comuni che avvengono su web application.

Vedremo dettaglio quali sono le principali vettori di attacco ad un sito web WordPress portando qualche esempio anche illustrativo.

Capitolo 4 – La sicurezza di WordPress

In questo capitolo porteremo un esempio di Penetration Test, degli strumenti e i tools che utilizzeremo come Kali Linux, Sqlmap, WpScan e gli strumenti per un Vulnerability Assessment.

Capitolo

Anteprima
Vedrai una selezione di 18 pagine su 81
Web Security: analisi di un CMS basato su Wordpress Pag. 1 Web Security: analisi di un CMS basato su Wordpress Pag. 2
Anteprima di 18 pagg. su 81.
Scarica il documento per vederlo tutto.
Web Security: analisi di un CMS basato su Wordpress Pag. 6
Anteprima di 18 pagg. su 81.
Scarica il documento per vederlo tutto.
Web Security: analisi di un CMS basato su Wordpress Pag. 11
Anteprima di 18 pagg. su 81.
Scarica il documento per vederlo tutto.
Web Security: analisi di un CMS basato su Wordpress Pag. 16
Anteprima di 18 pagg. su 81.
Scarica il documento per vederlo tutto.
Web Security: analisi di un CMS basato su Wordpress Pag. 21
Anteprima di 18 pagg. su 81.
Scarica il documento per vederlo tutto.
Web Security: analisi di un CMS basato su Wordpress Pag. 26
Anteprima di 18 pagg. su 81.
Scarica il documento per vederlo tutto.
Web Security: analisi di un CMS basato su Wordpress Pag. 31
Anteprima di 18 pagg. su 81.
Scarica il documento per vederlo tutto.
Web Security: analisi di un CMS basato su Wordpress Pag. 36
Anteprima di 18 pagg. su 81.
Scarica il documento per vederlo tutto.
Web Security: analisi di un CMS basato su Wordpress Pag. 41
Anteprima di 18 pagg. su 81.
Scarica il documento per vederlo tutto.
Web Security: analisi di un CMS basato su Wordpress Pag. 46
Anteprima di 18 pagg. su 81.
Scarica il documento per vederlo tutto.
Web Security: analisi di un CMS basato su Wordpress Pag. 51
Anteprima di 18 pagg. su 81.
Scarica il documento per vederlo tutto.
Web Security: analisi di un CMS basato su Wordpress Pag. 56
Anteprima di 18 pagg. su 81.
Scarica il documento per vederlo tutto.
Web Security: analisi di un CMS basato su Wordpress Pag. 61
Anteprima di 18 pagg. su 81.
Scarica il documento per vederlo tutto.
Web Security: analisi di un CMS basato su Wordpress Pag. 66
Anteprima di 18 pagg. su 81.
Scarica il documento per vederlo tutto.
Web Security: analisi di un CMS basato su Wordpress Pag. 71
Anteprima di 18 pagg. su 81.
Scarica il documento per vederlo tutto.
Web Security: analisi di un CMS basato su Wordpress Pag. 76
Anteprima di 18 pagg. su 81.
Scarica il documento per vederlo tutto.
Web Security: analisi di un CMS basato su Wordpress Pag. 81
1 su 81
D/illustrazione/soddisfatti o rimborsati
Acquista con carta o PayPal
Scarica i documenti tutte le volte che vuoi
Dettagli
SSD
Scienze matematiche e informatiche INF/01 Informatica

I contenuti di questa pagina costituiscono rielaborazioni personali del Publisher syndy004 di informazioni apprese con la frequenza delle lezioni di Informatica e studio autonomo di eventuali libri di riferimento in preparazione dell'esame finale o della tesi. Non devono intendersi come materiale ufficiale dell'università Università degli Studi di Udine o del prof Foresti Gianluca.
Appunti correlati Invia appunti e guadagna

Domande e risposte

Hai bisogno di aiuto?
Chiedi alla community