WordPress 3.x, 4.x Path Traversal + Directory Listing + File Deletion Vulnerabilities

######################

# Exploit Title : Wordpress 3.x, 4.x Path Traversal + Directory Listing + File Deletion Vulnerabilities

# Exploit Author : Claudio Viviani

# Vendor Homepage : https://wordpress.org

# Software Link : http://wordpress.org/wordpress-3.9.2.tar.gz

# Date : 2014-07-11

# Tested on : Mozilla Firefox / Wordpress 4.0 beta 1
# Mozilla Firefox / Wordpress 4.0 beta 2
# Mozilla Firefox / Wordpress 4.0 beta 3
# Mozilla Firefox / Wordpress 3.9.2
# Mozilla Firefox / Wordpress 3.9.1
# Mozilla Firefox / Wordpress 3.8
# Mozilla Firefox / Wordpress 3.7

######################

ARP Cache Poisoning o più comunemente ARP Spoofing

Come ben sappiamo i computers all’interno di una rete LAN comunicano tra di loro usufruendo delle schede di rete collegate agli switch o hub.

Lo switch è un dispositivo in grado di instradare i pacchetti di dati in modo logico, ovvero distribuisce al singolo pc i soli dati che ha richiesto (a livello di protocolli), evitando di fatto un invio su tutte le macchine (broadcast) come invece fa un hub.

E’ chiaro che analizzando il traffico di un pc collegato ad un hub, a differenza dello switch, è possibile rilevare dati sensibili destinati ad altri computer della rete.

Per aggirare l’instradamento degli switach è stata creato l’attacco ARP Cache Poisoning.

LFI – Come individuare e proteggersi dalla vulnerabilità Local File Inclusion Part.2

Nella prima parte dell’articolo ho spiegato cosa è la vulnerabilità LFI soffermandomi anche su alcune tecniche di protezione a livello di programmazione, mentre in questo post affronterò l’aspetto sistemistico. Per circoscrivere l’area di lavoro di un applicativo web, e quindi di un eventuale Local File Inclusion, è possibile ricorrere almeno a tre soluzioni: Utilizzo della […]

Filtri command injection: escapeshellarg escapeshellcmd

Proteggere i propri applicativi php è importantissimo sia, per l’integrità dei dati che del sistema.

Nello scorso articolo ho fatto una panoramica sulla vulnerabilità Local File Inclusion, mentre oggi lo scopo dei test sarà quello di applicare al codice php dei filtri command injection, ovvero normalizzare le richieste in input eliminando la possibilità di eseguire comandi non autorizzati.

LFI – Come individuare e proteggersi dalla vulnerabilità Local File Inclusion Part.1

Analizzando pagine web dinamiche di vari siti o ad esempio dei CMS (Wordpress, Drupal, Joomla) è possibile notare come gli sviluppatori ottimizzino il codice distribuendolo su più pagine.

In questo modo i programmatori evitano di creare file (ad esempio php) troppo grandi e di conseguenza meno chiari/flessibili.

Per incorporare il contenuto di una pagina php dentro l’altra, vengono utilizzate le funzioni:

include(‘pagina2.php’);

include_once(‘pagina2.php’);

require(‘pagina2.php’);

require_once(‘pagina2.php’);

Cosa può accadere se il nome della pagine inclusa viene richiamata col metodo GET o POST senza l’inserimento di adeguati filtri?

La risposta è semplice: è possibile leggere file di sistema o scaricare il codice sorgente degli applicativi, questa vulnerabilità viene chiamata LFI Local File Inclusion.

E’ importante precisare due punti per il corretto rilevamento della vulnerabilità:

I files a cui avrà accesso la pagina affetta dal bug, devono avere almeno i permessi in lettura per l’utente Apache (o l’utente di riferimento del demone http)
Il sistemista del web server non ha circoscritto l’area di lavoro dell’applicativo

Come installare VMware Player su Linux

La seguente procedura è stata testata sia su CentOS 6 che Ubuntu 14.04, ma è applicabile anche ad altre distribuzioni.

Sul sistema linux dovrà essere installato l’ambiente grafico, in caso contrario potete far riferimento al mio articolo che spiega come installarlo sulle distribuzioni CentOS:

http://www.homelab.it/index.php/2014/05/21/come-installare-lambiente-grafico-su-linux-centos-in-tre-passi/
1) Download VMware Player

Per prima cosa scariscari la versione più aggiornata di VMware Player dal sito ufficiale…..

Come installare l’ambiente grafico su Linux CentOS in tre comandi

Se il vostro scopo è quello di installare l’ambiente grafico in una distribuzione CentOS, precedentemente configurata in modalità testuale, vi basteranno 3 semplici comandi:

[root@centos6 ~]# yum -y groupinstall “X Window System”
[root@centos6 ~]#
[root@centos6 ~]# yum -y groupinstall “Desktop”
[root@centos6 ~]#
[root@centos6 ~]# yum -y groupinstall “General Purpose Desktop”

Yum comincerà a scaricare ed installare una grossa quantità di pacchetti ed il tempo stimato