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
el1.Lo stato dell’arte.................................................................................................................4
1.1Storia di Wordpress........................................................................................................................4
1.2Vulnerabilità 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.1Il progetto OWASP......................................................................................................................27
3.2Creazione dell’ambiente di laboratorio........................................................................................30
3.3Teoria 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 figur...............................................................................................................................70
Indice delle Tabelle...........................................................................................................................70
Bibliografia..............................................................................................................................70
Sitografia..................................................................................................................................72
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.2Creazione dell’ambiente di laboratorio........................................................................................31
3.3Teoria 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 Managment 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 WYSIWIG, 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
pratices 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 Vulnerabily Assestment [ 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
1
Data Breach .
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
1 Qualsivoglia violazione dei dati personali.
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 Assestment.
Capitolo
Scarica il documento per vederlo tutto.
Scarica il documento per vederlo tutto.
Scarica il documento per vederlo tutto.
Scarica il documento per vederlo tutto.
Scarica il documento per vederlo tutto.
Scarica il documento per vederlo tutto.
Scarica il documento per vederlo tutto.
Scarica il documento per vederlo tutto.
Scarica il documento per vederlo tutto.
Scarica il documento per vederlo tutto.
Scarica il documento per vederlo tutto.
Scarica il documento per vederlo tutto.
Scarica il documento per vederlo tutto.
Scarica il documento per vederlo tutto.
Scarica il documento per vederlo tutto.
Scarica il documento per vederlo tutto.